Re: [PATCHv7 15/19] x86/mm: Replace compile-time checks for 5-level with runtime-time

From: Ingo Molnar
Date: Thu Sep 28 2017 - 04:35:33 EST



* Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> wrote:

> This patch converts the of CONFIG_X86_5LEVEL check to runtime checks for
> p4d folding.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> ---
> arch/x86/mm/fault.c | 2 +-
> arch/x86/mm/ident_map.c | 2 +-
> arch/x86/mm/init_64.c | 30 ++++++++++++++++++------------
> arch/x86/mm/kasan_init_64.c | 12 ++++++------
> arch/x86/mm/kaslr.c | 6 +++---
> arch/x86/platform/efi/efi_64.c | 2 +-
> arch/x86/power/hibernate_64.c | 6 +++---
> 7 files changed, 33 insertions(+), 27 deletions(-)

> +/*
> + * When memory was added make sure all the processes MM have
> + * suitable PGD entries in the local PGD level page.
> + */
> +void sync_global_pgds(unsigned long start, unsigned long end)
> +{
> + if (pgtable_l5_enabled)
> + sync_global_pgds_57(start, end);
> + else
> + sync_global_pgds_48(start, end);
> +}

We should use the _l4 and _l5 postfixes instead of random _57 and _48 that is
pretty cryptic to most readers of the code.

Thanks,

Ingo