From: "Huang, Kai" <kai.huang@intel.com>
To: "seanjc@google.com" <seanjc@google.com>,
"nikunj@amd.com" <nikunj@amd.com>
Cc: "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"joao.m.martins@oracle.com" <joao.m.martins@oracle.com>,
"bp@alien8.de" <bp@alien8.de>,
"santosh.shukla@amd.com" <santosh.shukla@amd.com>
Subject: Re: [PATCH v4 4/7] KVM: x86: Move nested CPU dirty logging logic to common code
Date: Wed, 15 Oct 2025 05:27:47 +0000 [thread overview]
Message-ID: <90621050a295d15ed97b82e2882cb98d3df554d5.camel@intel.com> (raw)
In-Reply-To: <48e668bb-0b5e-4e47-9913-bc8e3ad30661@amd.com>
On Wed, 2025-10-15 at 10:13 +0530, Nikunj A. Dadhania wrote:
>
> On 10/15/2025 3:07 AM, Huang, Kai wrote:
> > On Tue, 2025-10-14 at 14:24 -0700, Sean Christopherson wrote:
> > > On Tue, Oct 14, 2025, Kai Huang wrote:
> > > > On Tue, 2025-10-14 at 11:34 +0000, Huang, Kai wrote:
> > > > > >
> > > > > > +static void kvm_vcpu_update_cpu_dirty_logging(struct kvm_vcpu *vcpu)
> > > > > > +{
> > > > > > + if (WARN_ON_ONCE(!enable_pml))
> > > > > > + return;
> > > > >
> > > > > Nit:
> > > > >
> > > > > Since kvm_mmu_update_cpu_dirty_logging() checks kvm-
> > > > > > arch.cpu_dirty_log_size to determine whether PML is enabled, maybe it's
> > > > > better to check vcpu->kvm.arch.cpu_dirty_log_size here too to make them
> > > > > consistent.
> > > >
> > > > After second thought, I think we should just change to checking the vcpu-
> > > > > kvm.arch.cpu_dirty_log_size.
> > >
> > > +1
> > >
> > > > > Anyway, the intention of this patch is moving code out of VMX to x86, so
> > > > > if needed, perhaps we can do the change in another patch.
>
> I will add this as a pre-patch, does it need a fixes tag ?
No I don't think there's any bug in the existing upstream code, since for
VMX guests, checking 'enable_pml' and the per-VM 'cpu_dirty_log_size' is
basically the same thing.
I won't stop you from doing this in a separate patch, but I think we can
just change this patch to check cpu_dirty_log_size with some justification
in changelog (e.g., below, a bit lengthy but not sure how to trim down):
Note KVM common code has a per-VM kvm->arch.cpu_dirty_log_size to
indicate whether PML is enabled on VM basis. It's for supporting
running both VMX guests and TDX guests with a KVM global 'enable_pml'
module parameter -- TDX doesn't (yet) support PML, and 'enable_pml' is
used to enable PML for VMX guests while supporting TDX guests.
Currently vmx_update_cpu_dirty_logging() has a WARN() to check
'!enable_pml' to make sure it is not mistakenly called when PML is
not enabled in KVM. It's correct for VMX guests. However such check
is no longer correct in x86 common since it doesn't apply to TDX guests.
Therefore change to check the per VM cpu_dirty_log_size while moving
vmx_update_cpu_dirty_logging() to x86 common. And it's also more
consistent with kvm_mmu_update_cpu_dirty_logging(), which checks the
cpu_dirty_log_size.
Or perhaps Sean has some preference?
next prev parent reply other threads:[~2025-10-15 5:27 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-13 6:25 [PATCH v4 0/7] KVM: SVM: Add Page Modification Logging (PML) support Nikunj A Dadhania
2025-10-13 6:25 ` [PATCH v4 1/7] KVM: x86: Carve out PML flush routine Nikunj A Dadhania
2025-10-14 22:04 ` Huang, Kai
2025-10-15 4:32 ` Nikunj A. Dadhania
2025-10-13 6:25 ` [PATCH v4 2/7] KVM: x86: Move PML page to common vcpu arch structure Nikunj A Dadhania
2025-10-13 6:25 ` [PATCH v4 3/7] KVM: x86: Move enable_pml variable to common x86 code Nikunj A Dadhania
2025-10-14 11:24 ` Huang, Kai
2025-10-14 19:22 ` Sean Christopherson
2025-10-14 20:47 ` Huang, Kai
2025-10-15 4:39 ` Nikunj A. Dadhania
2025-10-13 6:25 ` [PATCH v4 4/7] KVM: x86: Move nested CPU dirty logging logic to common code Nikunj A Dadhania
2025-10-14 11:34 ` Huang, Kai
2025-10-14 20:40 ` Huang, Kai
2025-10-14 21:24 ` Sean Christopherson
2025-10-14 21:37 ` Huang, Kai
2025-10-15 4:43 ` Nikunj A. Dadhania
2025-10-15 5:27 ` Huang, Kai [this message]
2025-10-15 9:06 ` Nikunj A. Dadhania
2025-10-15 21:37 ` Huang, Kai
2025-10-16 9:23 ` Nikunj A. Dadhania
2025-10-13 6:25 ` [PATCH v4 5/7] x86/cpufeatures: Add Page modification logging Nikunj A Dadhania
2025-10-13 6:25 ` [PATCH v4 6/7] KVM: SVM: Use BIT_ULL for 64-bit nested_ctl bit definitions Nikunj A Dadhania
2025-10-13 6:25 ` [PATCH v4 7/7] KVM: SVM: Add Page modification logging support Nikunj A Dadhania
2025-10-17 5:13 ` Huang, Kai
2025-11-06 9:28 ` Nikunj A. Dadhania
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=90621050a295d15ed97b82e2882cb98d3df554d5.camel@intel.com \
--to=kai.huang@intel.com \
--cc=bp@alien8.de \
--cc=joao.m.martins@oracle.com \
--cc=kvm@vger.kernel.org \
--cc=nikunj@amd.com \
--cc=pbonzini@redhat.com \
--cc=santosh.shukla@amd.com \
--cc=seanjc@google.com \
--cc=thomas.lendacky@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox