lkml.org 
[lkml]   [2019]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 06/14] hexagon: switch to generic version of pte allocation
    Date
    The hexagon implementation pte_alloc_one(), pte_alloc_one_kernel(),
    pte_free_kernel() and pte_free() is identical to the generic except of
    lack of __GFP_ACCOUNT for the user PTEs allocation.

    Switch hexagon to use generic version of these functions.

    Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
    ---
    arch/hexagon/include/asm/pgalloc.h | 34 ++--------------------------------
    1 file changed, 2 insertions(+), 32 deletions(-)

    diff --git a/arch/hexagon/include/asm/pgalloc.h b/arch/hexagon/include/asm/pgalloc.h
    index d361838..7661a26 100644
    --- a/arch/hexagon/include/asm/pgalloc.h
    +++ b/arch/hexagon/include/asm/pgalloc.h
    @@ -24,6 +24,8 @@
    #include <asm/mem-layout.h>
    #include <asm/atomic.h>

    +#include <asm-generic/pgalloc.h> /* for pte_{alloc,free}_one */
    +
    #define check_pgt_cache() do {} while (0)

    extern unsigned long long kmap_generation;
    @@ -59,38 +61,6 @@ static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
    free_page((unsigned long) pgd);
    }

    -static inline struct page *pte_alloc_one(struct mm_struct *mm)
    -{
    - struct page *pte;
    -
    - pte = alloc_page(GFP_KERNEL | __GFP_ZERO);
    - if (!pte)
    - return NULL;
    - if (!pgtable_page_ctor(pte)) {
    - __free_page(pte);
    - return NULL;
    - }
    - return pte;
    -}
    -
    -/* _kernel variant gets to use a different allocator */
    -static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm)
    -{
    - gfp_t flags = GFP_KERNEL | __GFP_ZERO;
    - return (pte_t *) __get_free_page(flags);
    -}
    -
    -static inline void pte_free(struct mm_struct *mm, struct page *pte)
    -{
    - pgtable_page_dtor(pte);
    - __free_page(pte);
    -}
    -
    -static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
    -{
    - free_page((unsigned long)pte);
    -}
    -
    static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
    pgtable_t pte)
    {
    --
    2.7.4
    \
     
     \ /
      Last update: 2019-05-08 08:19    [W:3.415 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site