All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Jim Mattson <jmattson@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	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>,
	Shuah Khan <shuah@kernel.org>,
	kvm@vger.kernel.org,  linux-kernel@vger.kernel.org,
	linux-kselftest@vger.kernel.org,  Yosry Ahmed <yosry@kernel.org>
Subject: Re: [PATCH v5 05/10] KVM: x86: nSVM: Redirect IA32_PAT accesses to either hPAT or gPAT
Date: Tue, 24 Feb 2026 09:43:31 -0800	[thread overview]
Message-ID: <aZ3jQ1prL4dgG0-H@google.com> (raw)
In-Reply-To: <20260224005500.1471972-6-jmattson@google.com>

On Mon, Feb 23, 2026, Jim Mattson wrote:
> +static void svm_set_pat(struct kvm_vcpu *vcpu, bool from_host, u64 data)
> +{
> +	struct vcpu_svm *svm = to_svm(vcpu);
> +
> +	if (svm_pat_accesses_gpat(vcpu, from_host)) {
> +		vmcb_set_gpat(svm->vmcb, data);
> +	} else {
> +		svm->vcpu.arch.pat = data;
> +		if (npt_enabled) {
> +			vmcb_set_gpat(svm->vmcb01.ptr, data);
> +			if (is_guest_mode(&svm->vcpu) &&
> +			    !nested_npt_enabled(svm))
> +				vmcb_set_gpat(svm->vmcb, data);
> +		}
> +	}

Overall, this LGTM.  For this particular code, any objection to using early
returns to reduce indentation?  The else branch above is a bit gnarly, especially
when legacy_gpat_semantics comes along.

I.e. end up with this

  static void svm_set_pat(struct kvm_vcpu *vcpu, bool from_host, u64 data)
  {
	struct vcpu_svm *svm = to_svm(vcpu);

	if (svm_pat_accesses_gpat(vcpu, from_host)) {
		vmcb_set_gpat(svm->vmcb, data);
		return;
	}

	svm->vcpu.arch.pat = data;

	if (!npt_enabled)
		return;

	vmcb_set_gpat(svm->vmcb01.ptr, data);
	if (is_guest_mode(&svm->vcpu) &&
	    (svm->nested.legacy_gpat_semantics || !nested_npt_enabled(svm)))
		vmcb_set_gpat(svm->vmcb, data);
  }

I can fixup when applying (unless you and/or Yosry object).

  reply	other threads:[~2026-02-24 17:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-24  0:54 [PATCH v5 00/10] KVM: x86: nSVM: Improve PAT virtualization Jim Mattson
2026-02-24  0:54 ` [PATCH v5 01/10] KVM: x86: SVM: Remove vmcb_is_dirty() Jim Mattson
2026-02-24  0:54 ` [PATCH v5 02/10] KVM: x86: nSVM: Clear VMCB_NPT clean bit when updating hPAT from guest mode Jim Mattson
2026-02-24  0:54 ` [PATCH v5 03/10] KVM: x86: nSVM: Cache and validate vmcb12 g_pat Jim Mattson
2026-02-24  0:54 ` [PATCH v5 04/10] KVM: x86: nSVM: Set vmcb02.g_pat correctly for nested NPT Jim Mattson
2026-02-24  0:54 ` [PATCH v5 05/10] KVM: x86: nSVM: Redirect IA32_PAT accesses to either hPAT or gPAT Jim Mattson
2026-02-24 17:43   ` Sean Christopherson [this message]
2026-02-24 18:18     ` Jim Mattson
2026-02-24 19:04     ` Yosry Ahmed
2026-02-24  0:54 ` [PATCH v5 06/10] KVM: x86: Remove common handling of MSR_IA32_CR_PAT Jim Mattson
2026-02-24  0:54 ` [PATCH v5 07/10] KVM: x86: nSVM: Save gPAT to vmcb12.g_pat on VMEXIT Jim Mattson
2026-02-24  0:54 ` [PATCH v5 08/10] KVM: x86: nSVM: Save/restore gPAT with KVM_{GET,SET}_NESTED_STATE Jim Mattson
2026-03-04 17:11   ` Sean Christopherson
2026-03-04 18:37     ` Jim Mattson
2026-03-04 19:11       ` Sean Christopherson
2026-03-04 19:35         ` Yosry Ahmed
2026-03-04 19:55           ` Sean Christopherson
2026-03-05 18:49             ` Jim Mattson
2026-02-24  0:54 ` [PATCH v5 09/10] KVM: x86: nSVM: Handle restore of legacy nested state Jim Mattson
2026-03-03 17:32   ` Sean Christopherson
2026-02-24  0:54 ` [PATCH v5 10/10] KVM: selftests: nSVM: Add svm_nested_pat test Jim Mattson
2026-03-05 17:08 ` [PATCH v5 00/10] KVM: x86: nSVM: Improve PAT virtualization Sean Christopherson

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=aZ3jQ1prL4dgG0-H@google.com \
    --to=seanjc@google.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=jmattson@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=shuah@kernel.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.