From: Sean Christopherson <seanjc@google.com>
To: Jim Mattson <jmattson@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Thomas Gleixner <tglx@kernel.org>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
kvm@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
Yosry Ahmed <yosry@kernel.org>
Subject: Re: [PATCH v7 8/9] KVM: x86: nSVM: Save/restore gPAT with KVM_{GET,SET}_NESTED_STATE
Date: Tue, 7 Apr 2026 07:14:21 -0700 [thread overview]
Message-ID: <adURPZJEDs50NPkB@google.com> (raw)
In-Reply-To: <CALMp9eQsd0fRuDE_R57Mn6-N6jCtbmoPAh7Y7CBdMEZJaNSUGQ@mail.gmail.com>
On Mon, Apr 06, 2026, Jim Mattson wrote:
> On Mon, Apr 6, 2026 at 4:47 PM Sean Christopherson <seanjc@google.com> wrote:
> >
> > On Fri, Mar 27, 2026, Jim Mattson wrote:
> > > @@ -1918,6 +1921,7 @@ static int svm_set_nested_state(struct kvm_vcpu *vcpu,
> > > struct vmcb_save_area_cached save_cached;
> > > struct vmcb_ctrl_area_cached ctl_cached;
> > > unsigned long cr0;
> > > + bool use_separate_l2_pat;
> >
> > Land this above "cr0" to preserve the inverted fir tree.
> >
> > > int ret;
> > >
> > > BUILD_BUG_ON(sizeof(struct vmcb_control_area) + sizeof(struct vmcb_save_area) >
> > > @@ -1993,6 +1997,18 @@ static int svm_set_nested_state(struct kvm_vcpu *vcpu,
> > > !nested_vmcb_check_save(vcpu, &save_cached, false))
> > > goto out_free;
> > >
> > > + /*
> > > + * Validate gPAT when the shared PAT quirk is disabled (i.e. L2
> > > + * has its own gPAT). This is done separately from the
> > > + * vmcb_save_area_cached validation above, because gPAT is L2
> > > + * state, but the vmcb_save_area_cached is populated with L1 state.
> > > + */
> > > + use_separate_l2_pat =
> > > + (ctl_cached.misc_ctl & SVM_MISC_ENABLE_NP) &&
> > > + !kvm_check_has_quirk(vcpu->kvm,
> > > + KVM_X86_QUIRK_NESTED_SVM_SHARED_PAT);
> >
> > I vote for either:
> >
> > use_separate_l2_pat = (ctl_cached.misc_ctl & SVM_MISC_ENABLE_NP) &&
> > !kvm_check_has_quirk(vcpu->kvm,
> > KVM_X86_QUIRK_NESTED_SVM_SHARED_PAT);
> >
> LOL! Aren't you the one who keeps complaining that my indentation
> doesn't line up? Are you schizophrenic?
Huh? That is aligned. Perhaps it's whitespace damaged by your MUA?
> > or
> >
> > use_separate_l2_pat = (ctl_cached.misc_ctl & SVM_MISC_ENABLE_NP);
> > if (kvm_check_has_quirk(vcpu->kvm, KVM_X86_QUIRK_NESTED_SVM_SHARED_PAT))
> > use_separate_l2_pat = false;
>
> Wow. I really have no idea how to predict what you're going to want
> the code to look like. How is this better than the original?!?
It doesn't immediately wrap after the "=". Similar to my view on wrapping before
function names[*], I find wrapping immediately after an assignment operator to be
unnecessarily difficult to read as it doesn't provide any context for single-line
searches.
I'm pretty darn consistent in my dislike for that style: I count 26 instances in
arch/x86/kvm that match "\s=\n", and only two of those carry my SoB or R-b. I
simply missed the wrap in kvm_vcpu_apicv_activated() that was added by commit
896046474f8d ("KVM: x86: Introduce kvm_x86_call() to simplify static calls of
kvm_x86_ops"), and I'll give myself a pass for commit 8764ed55c970 ("KVM: x86:
Whitelist port 0x7e for pre-incrementing %rip") as that predates treating
checkpatch's 80 char limit as a soft limit.
[*] https://lore.kernel.org/all/CAHk-=wjoLAYG446ZNHfg=GhjSY6nFmuB_wA8fYd5iLBNXjo9Bw@mail.gmail.com
next prev parent reply other threads:[~2026-04-07 14:14 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-27 23:40 [PATCH v7 0/9] KVM: x86: nSVM: Improve PAT virtualization Jim Mattson
2026-03-27 23:40 ` [PATCH v7 1/9] KVM: x86: Define KVM_X86_QUIRK_NESTED_SVM_SHARED_PAT Jim Mattson
2026-03-30 7:49 ` kernel test robot
2026-04-02 19:39 ` Jim Mattson
2026-04-02 20:26 ` Yosry Ahmed
2026-04-06 23:27 ` Sean Christopherson
2026-04-07 16:27 ` Jim Mattson
2026-04-07 17:00 ` Sean Christopherson
2026-03-27 23:40 ` [PATCH v7 2/9] KVM: x86: nSVM: Clear VMCB_NPT clean bit when updating hPAT from guest mode Jim Mattson
2026-03-27 23:40 ` [PATCH v7 3/9] KVM: x86: nSVM: Cache and validate vmcb12 g_pat Jim Mattson
2026-03-27 23:40 ` [PATCH v7 4/9] KVM: x86: nSVM: Set vmcb02.g_pat correctly for nested NPT Jim Mattson
2026-03-27 23:40 ` [PATCH v7 5/9] KVM: x86: nSVM: Redirect IA32_PAT accesses to either hPAT or gPAT Jim Mattson
2026-04-06 23:45 ` Sean Christopherson
2026-03-27 23:40 ` [PATCH v7 6/9] KVM: x86: nSVM: Save gPAT to vmcb12.g_pat on VMEXIT Jim Mattson
2026-03-27 23:40 ` [PATCH v7 7/9] KVM: Documentation: document KVM_{GET,SET}_NESTED_STATE for SVM Jim Mattson
2026-03-27 23:40 ` [PATCH v7 8/9] KVM: x86: nSVM: Save/restore gPAT with KVM_{GET,SET}_NESTED_STATE Jim Mattson
2026-04-06 23:47 ` Sean Christopherson
2026-04-07 3:08 ` Jim Mattson
2026-04-07 14:14 ` Sean Christopherson [this message]
2026-04-07 15:47 ` Jim Mattson
2026-04-07 16:54 ` Sean Christopherson
2026-03-27 23:40 ` [PATCH v7 9/9] KVM: selftests: nSVM: Add svm_nested_pat test Jim Mattson
2026-04-07 0:07 ` Sean Christopherson
2026-04-07 3:58 ` Jim Mattson
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=adURPZJEDs50NPkB@google.com \
--to=seanjc@google.com \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jmattson@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=skhan@linuxfoundation.org \
--cc=tglx@kernel.org \
--cc=x86@kernel.org \
--cc=yosry@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.