• Mike Rapoport's avatar
    asm-generic, x86: introduce generic pte_{alloc,free}_one[_kernel] · 5fba4af4
    Mike Rapoport authored
    Most architectures have identical or very similar implementation of
    pte_alloc_one_kernel(), pte_alloc_one(), pte_free_kernel() and
    pte_free().
    
    Add a generic implementation that can be reused across architectures and
    enable its use on x86.
    
    The generic implementation uses
    
    	GFP_KERNEL | __GFP_ZERO
    
    for the kernel page tables and
    
    	GFP_KERNEL | __GFP_ZERO | __GFP_ACCOUNT
    
    for the user page tables.
    
    The "base" functions for PTE allocation, namely __pte_alloc_one_kernel()
    and __pte_alloc_one() are intended for the architectures that require
    additional actions after actual memory allocation or must use non-default
    GFP flags.
    
    x86 is switched to use generic pte_alloc_one_kernel(), pte_free_kernel() and
    pte_free().
    
    x86 still implements pte_alloc_one() to allow run-time control of GFP
    flags required for "userpte" command line option.
    
    Link: http://lkml.kernel.org/r/1557296232-15361-2-git-send-email-rppt@linux.ibm.comSigned-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
    Cc: Albert Ou <aou@eecs.berkeley.edu>
    Cc: Anshuman Khandual <anshuman.khandual@arm.com>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Greentime Hu <green.hu@gmail.com>
    Cc: Guan Xuetao <gxt@pku.edu.cn>
    Cc: Guo Ren <guoren@kernel.org>
    Cc: Guo Ren <ren_guo@c-sky.com>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Ley Foon Tan <lftan@altera.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Palmer Dabbelt <palmer@sifive.com>
    Cc: Paul Burton <paul.burton@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Richard Kuo <rkuo@codeaurora.org>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Sam Creasey <sammy@sammy.net>
    Cc: Vincent Chen <deanbo422@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5fba4af4
pgalloc.h 2.88 KB