Le 09/10/2022 à 19:31, Christophe Leroy a écrit : > init_mm->pgd is always swapper_pg_dir[] which is known > at build time. > > Directly use the later instead of loading it from init_mm > struct at every time. > > Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu>
Dropping this patch after feedback from Michael: no other arches do it. (swapper_pg_dir) It would also make us the only arch other than ia64 (which is old and probably going to get removed soon) defining pgd_offset_k(). > --- > arch/powerpc/include/asm/pgtable.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/powerpc/include/asm/pgtable.h > b/arch/powerpc/include/asm/pgtable.h > index 283f40d05a4d..f6843e6294d9 100644 > --- a/arch/powerpc/include/asm/pgtable.h > +++ b/arch/powerpc/include/asm/pgtable.h > @@ -48,6 +48,9 @@ struct mm_struct; > /* Keep these as a macros to avoid include dependency mess */ > #define pte_page(x) pfn_to_page(pte_pfn(x)) > #define mk_pte(page, pgprot) pfn_pte(page_to_pfn(page), (pgprot)) > + > +#define pgd_offset_k(address) pgd_offset_pgd(swapper_pg_dir, > (address)) > + > /* > * Select all bits except the pfn > */