lkml.org 
[lkml]   [2017]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCHv7 08/19] x86/mm: Make PGDIR_SHIFT and PTRS_PER_P4D variable
    On Mon, Sep 18, 2017 at 10:55:42AM +0000, Kirill A. Shutemov wrote:
    > For boot-time switching between 4- and 5-level paging we need to be able
    > to fold p4d page table level at runtime. It requires variable
    > PGDIR_SHIFT and PTRS_PER_P4D.
    >
    > The change doesn't affect the kernel image size much:
    >
    > text data bss dec hex filename
    > 10710172 4879964 860160 16450296 fb02f8 vmlinux.before
    > 10710340 4880000 860160 16450500 fb03c4 vmlinux.after
    >
    > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

    Fixup for the patch:

    diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
    index a1d983a45ab0..10dcbec70ef9 100644
    --- a/arch/x86/mm/dump_pagetables.c
    +++ b/arch/x86/mm/dump_pagetables.c
    @@ -428,7 +428,7 @@ static void walk_p4d_level(struct seq_file *m, struct pg_state *st, pgd_t addr,
    }

    #define pgd_large(a) (pgtable_l5_enabled ? pgd_large(a) : p4d_large(__p4d(pgd_val(a))))
    -#define pgd_none(a) (pgtable_l5_enabled ? pgd_none(a) : pgd_none(a))
    +#define pgd_none(a) (pgtable_l5_enabled ? pgd_none(a) : p4d_none(__p4d(pgd_val(a))))

    static inline bool is_hypervisor_range(int idx)
    {
    --
    Kirill A. Shutemov
    \
     
     \ /
      Last update: 2017-09-19 16:04    [W:4.098 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site