On Tue, Apr 28, 2026, Tycho Andersen wrote:
> On Mon, Apr 27, 2026 at 02:20:10PM -0700, Sean Christopherson wrote:
> > On Mon, Apr 27, 2026, Tycho Andersen wrote:
> > > From: "Tycho Andersen (AMD)" <[email protected]>
> > > 
> > > Add a user-visible way to set the RAPL_DIS bit for SNP init.
> > > 
> > > Since setting RAPL_DIS affects the whole system, put the module parameter
> > > in kvm_amd instead of in the CCP driver to hopefully make it more obvious
> > > to admins.
> > > 
> > > Signed-off-by: Tycho Andersen (AMD) <[email protected]>
> > > ---
> > >  Documentation/admin-guide/kernel-parameters.txt | 5 +++++
> > >  arch/x86/kvm/svm/sev.c                          | 8 ++++++++
> > >  2 files changed, 13 insertions(+)
> > > 
> > > diff --git a/Documentation/admin-guide/kernel-parameters.txt 
> > > b/Documentation/admin-guide/kernel-parameters.txt
> > > index 4d0f545fb3ec..2b50eed8664c 100644
> > > --- a/Documentation/admin-guide/kernel-parameters.txt
> > > +++ b/Documentation/admin-guide/kernel-parameters.txt
> > > @@ -3207,6 +3207,11 @@ Kernel parameters
> > >                   max_snp_asid == min_sev_asid-1, will effectively make
> > >                   SEV-ES unusable.
> > >  
> > > + kvm-amd.rapl_disable=   [KVM,AMD] Whether to disable RAPL
> > > +                 (Running Average Power Limit) when initializing the SNP
> > > +                 firmware. This disables the counters for the entire 
> > > system until an
> > > +                 SNP shutdown command is issued.
> > 
> > I'm pretty sure I said this earlier: KVM absolutely should not be able to 
> > disable
> > RAPL for the entire system.  That needs to be a power management thing.
> 
> You definitely noted "not CCP", I don't think I quite understood what
> that meant though:
> https://lore.kernel.org/all/[email protected]/
> 
> I'm a little worried that putting it in power management will generate
> some weird dependencies, or weakref symbols that can't change things
> if they are loaded independently of kvm_amd or something. But let me
> see what I can come up with.

Ugh, and it's not even powerman per se, it's actually a module in perf.  Oof.

I 100% agree it'll be tricky, but I also stand by comments that neither the CCP
driver or KVM should be allowed to silently pull the rug out from under the RAPL
module.

> > KVM then needs to communicate (and enforce?) the policy to
> > userspace.
> 
> KVM doesn't need to enforce anything, the SEV firmware will generate a
> launch error for policy violation if it's not supported.
> 
> For communicating to userspace if it's not a kvm module parameter, one
> option is to mask it off in sev_get_snp_supported_policy() if it was
> initialized without the support. Then it'll be visible via
> KVM_X86_SNP_POLICY_BITS.

Ya, this is what I was envisioning.

Reply via email to