All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Lutomirski <luto@kernel.org>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	lkml <linux-kernel@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/PAT: have pat_enabled() properly reflect state when running on e.g. Xen
Date: Tue, 5 Jul 2022 17:04:32 +0200	[thread overview]
Message-ID: <YsRTAGI2PhfZ5V7M@zn.tnic> (raw)
In-Reply-To: <9385fa60-fa5d-f559-a137-6608408f88b0@suse.com>

On Thu, Apr 28, 2022 at 04:50:29PM +0200, Jan Beulich wrote:
> --- a/arch/x86/mm/pat/memtype.c
> +++ b/arch/x86/mm/pat/memtype.c
> @@ -62,6 +62,7 @@
>  
>  static bool __read_mostly pat_bp_initialized;
>  static bool __read_mostly pat_disabled = !IS_ENABLED(CONFIG_X86_PAT);
> +static bool __initdata pat_force_disabled = !IS_ENABLED(CONFIG_X86_PAT);
>  static bool __read_mostly pat_bp_enabled;
>  static bool __read_mostly pat_cm_initialized;

Why yet another boolean var?

Why not extend pat_enabled() to reflect the Xen case and explain it
properly above it?

My comment is likely wrong because I don't know what the Xen HV hides or
doesn't but you get the idea...

diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c
index d5ef64ddd35e..a8f1a02f9bc2 100644
--- a/arch/x86/mm/pat/memtype.c
+++ b/arch/x86/mm/pat/memtype.c
@@ -92,6 +92,13 @@ early_param("nopat", nopat);
 
 bool pat_enabled(void)
 {
+	/*
+	 * Xen PV doesn't expose the PAT MSR to dom0 so the proper init path
+	 * there cannot be exercised. Announce PAT is enabled in that case too.
+	 */
+	if (cpu_feature_enabled(X86_FEATURE_XENPV) && !pat_disabled)
+		return true;
+
 	return pat_bp_enabled;
 }
 EXPORT_SYMBOL_GPL(pat_enabled);

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

  parent reply	other threads:[~2022-07-05 15:08 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-28 14:50 [PATCH] x86/PAT: have pat_enabled() properly reflect state when running on e.g. Xen Jan Beulich
2022-05-03 12:54 ` Juergen Gross
2022-05-11 13:32   ` Juergen Gross
2022-05-21 13:56 ` Chuck Zmudzinski
2022-05-25  8:55 ` Ping: " Jan Beulich
2022-07-04 11:58   ` Thorsten Leemhuis
2022-07-04 12:26     ` Jan Beulich
2022-07-05 10:57       ` Thorsten Leemhuis
2022-07-05 11:02         ` Jan Beulich
2022-07-05 13:36         ` Borislav Petkov
2022-07-05 13:38           ` Juergen Gross
2022-07-14 17:17         ` Chuck Zmudzinski
2022-07-14 22:33           ` Chuck Zmudzinski
2022-07-14 22:45             ` Chuck Zmudzinski
2022-07-19 14:26               ` Chuck Zmudzinski
2022-07-05 15:04 ` Borislav Petkov [this message]
2022-07-05 15:56   ` Jan Beulich
2022-07-05 16:14     ` Borislav Petkov
2022-07-06  6:17       ` Jan Beulich
2022-07-06 17:01         ` Borislav Petkov
2022-07-07  6:38           ` Jan Beulich
2022-07-11 10:40             ` Borislav Petkov
2022-07-11 11:38       ` Chuck Zmudzinski
2022-07-11 12:28       ` [PATCH] x86/PAT: have pat_enabled() properly reflect state when running on e.g. Xen, with corrected patch Chuck Zmudzinski
2022-07-11 14:18       ` [PATCH] x86/PAT: have pat_enabled() properly reflect state when running on e.g. Xen Chuck Zmudzinski
2022-07-11 14:31         ` Juergen Gross
2022-07-11 17:41           ` Chuck Zmudzinski
2022-07-12  5:49             ` Juergen Gross
2022-07-12  6:04             ` Jan Beulich
2022-07-12 13:22               ` Chuck Zmudzinski
2022-07-12 13:32                 ` Juergen Gross
2022-07-12 15:09                   ` Chuck Zmudzinski
2022-07-12 15:30                     ` Juergen Gross
2022-07-12 16:34                       ` Chuck Zmudzinski
2022-08-15 10:20 ` [tip: x86/urgent] x86/PAT: Have pat_enabled() properly reflect state when running on Xen tip-bot2 for Jan Beulich

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=YsRTAGI2PhfZ5V7M@zn.tnic \
    --to=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=jbeulich@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=peterz@infradead.org \
    --cc=xen-devel@lists.xenproject.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.