diff options
Diffstat (limited to 'arch/arm64/include/asm/pgalloc.h')
-rw-r--r-- | arch/arm64/include/asm/pgalloc.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm64/include/asm/pgalloc.h b/arch/arm64/include/asm/pgalloc.h index d5bed02073d6..e20df38a8ff3 100644 --- a/arch/arm64/include/asm/pgalloc.h +++ b/arch/arm64/include/asm/pgalloc.h | |||
@@ -26,11 +26,13 @@ | |||
26 | 26 | ||
27 | #define check_pgt_cache() do { } while (0) | 27 | #define check_pgt_cache() do { } while (0) |
28 | 28 | ||
29 | #define PGALLOC_GFP (GFP_KERNEL | __GFP_NOTRACK | __GFP_REPEAT | __GFP_ZERO) | ||
30 | |||
29 | #if CONFIG_ARM64_PGTABLE_LEVELS > 2 | 31 | #if CONFIG_ARM64_PGTABLE_LEVELS > 2 |
30 | 32 | ||
31 | static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long addr) | 33 | static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long addr) |
32 | { | 34 | { |
33 | return (pmd_t *)get_zeroed_page(GFP_KERNEL | __GFP_REPEAT); | 35 | return (pmd_t *)__get_free_page(PGALLOC_GFP); |
34 | } | 36 | } |
35 | 37 | ||
36 | static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) | 38 | static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) |
@@ -50,7 +52,7 @@ static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) | |||
50 | 52 | ||
51 | static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr) | 53 | static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long addr) |
52 | { | 54 | { |
53 | return (pud_t *)get_zeroed_page(GFP_KERNEL | __GFP_REPEAT); | 55 | return (pud_t *)__get_free_page(PGALLOC_GFP); |
54 | } | 56 | } |
55 | 57 | ||
56 | static inline void pud_free(struct mm_struct *mm, pud_t *pud) | 58 | static inline void pud_free(struct mm_struct *mm, pud_t *pud) |
@@ -69,8 +71,6 @@ static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, pud_t *pud) | |||
69 | extern pgd_t *pgd_alloc(struct mm_struct *mm); | 71 | extern pgd_t *pgd_alloc(struct mm_struct *mm); |
70 | extern void pgd_free(struct mm_struct *mm, pgd_t *pgd); | 72 | extern void pgd_free(struct mm_struct *mm, pgd_t *pgd); |
71 | 73 | ||
72 | #define PGALLOC_GFP (GFP_KERNEL | __GFP_NOTRACK | __GFP_REPEAT | __GFP_ZERO) | ||
73 | |||
74 | static inline pte_t * | 74 | static inline pte_t * |
75 | pte_alloc_one_kernel(struct mm_struct *mm, unsigned long addr) | 75 | pte_alloc_one_kernel(struct mm_struct *mm, unsigned long addr) |
76 | { | 76 | { |