Re: [RFT PATCH v2 03/23] x86/boot: Drop global variables keeping track of LA57 state
From: Linus Torvalds
Date: Sun May 04 2025 - 10:59:32 EST
On Sun, 4 May 2025 at 06:51, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> Cannot pgtable_l5_enabled() be a single, simple percpu flag or so?
Isn't this logically something that should just be a static key? For
some reason I thought we did that already, but looking around, that
was only in the critical user access routines (and got replaced by the
'runtime-const' stuff)
But I guess that what Ard wants to get rid of is the variable itself,
and for early boot using static keys sounds like a bad idea.
Honestly, looking at this, I think we should fix the *users* of
pgtable_l5_enabled().
Because I think there are two distinct classes:
- the stuff in <asm/pgtable.h> is exposed as the generic page table
accessor macros to "real" code, and should probably use a static key
(ie things like pgd_clear() / pgd_none() and friends)
- but in code like __kernel_physical_mapping_init() feels to me like
using the value in %cr4 actually makes sense
but that looks like a much bigger and fundamental patch than Ard's.
Linus