2022-07-05 16:29:46

by Mike Rapoport

[permalink] [raw]
Subject: [PATCH v2 08/15] nios2: drop definition of PGD_ORDER

From: Mike Rapoport <[email protected]>

This is the order of the page table allocation, not the order of a PGD.
Since its always hardwired to 0, simply drop it.

Signed-off-by: Mike Rapoport <[email protected]>
---
arch/nios2/include/asm/pgtable.h | 4 +---
arch/nios2/mm/init.c | 3 +--
arch/nios2/mm/pgtable.c | 2 +-
3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/nios2/include/asm/pgtable.h b/arch/nios2/include/asm/pgtable.h
index eaf8f28baa8b..74af16dafe86 100644
--- a/arch/nios2/include/asm/pgtable.h
+++ b/arch/nios2/include/asm/pgtable.h
@@ -68,9 +68,7 @@ struct mm_struct;

#define PAGE_COPY MKP(0, 0, 1)

-#define PGD_ORDER 0
-
-#define PTRS_PER_PGD ((PAGE_SIZE << PGD_ORDER) / sizeof(pgd_t))
+#define PTRS_PER_PGD (PAGE_SIZE / sizeof(pgd_t))
#define PTRS_PER_PTE (PAGE_SIZE / sizeof(pte_t))

#define USER_PTRS_PER_PGD \
diff --git a/arch/nios2/mm/init.c b/arch/nios2/mm/init.c
index 2d6dbf7701f6..eab65e8ea69c 100644
--- a/arch/nios2/mm/init.c
+++ b/arch/nios2/mm/init.c
@@ -78,8 +78,7 @@ void __init mmu_init(void)
flush_tlb_all();
}

-#define __page_aligned(order) __aligned(PAGE_SIZE << (order))
-pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned(PGD_ORDER);
+pgd_t swapper_pg_dir[PTRS_PER_PGD] __aligned(PAGE_SIZE);
pte_t invalid_pte_table[PTRS_PER_PTE] __aligned(PAGE_SIZE);
static struct page *kuser_page[1];

diff --git a/arch/nios2/mm/pgtable.c b/arch/nios2/mm/pgtable.c
index 9b587fd592dd..7c76e8a7447a 100644
--- a/arch/nios2/mm/pgtable.c
+++ b/arch/nios2/mm/pgtable.c
@@ -54,7 +54,7 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
{
pgd_t *ret, *init;

- ret = (pgd_t *) __get_free_pages(GFP_KERNEL, PGD_ORDER);
+ ret = (pgd_t *) __get_free_page(GFP_KERNEL);
if (ret) {
init = pgd_offset(&init_mm, 0UL);
pgd_init(ret);
--
2.34.1


2022-07-12 00:05:03

by Dinh Nguyen

[permalink] [raw]
Subject: Re: [PATCH v2 08/15] nios2: drop definition of PGD_ORDER



On 7/5/22 10:47, Mike Rapoport wrote:
> From: Mike Rapoport <[email protected]>
>
> This is the order of the page table allocation, not the order of a PGD.
> Since its always hardwired to 0, simply drop it.
>
> Signed-off-by: Mike Rapoport <[email protected]>
> ---
> arch/nios2/include/asm/pgtable.h | 4 +---
> arch/nios2/mm/init.c | 3 +--
> arch/nios2/mm/pgtable.c | 2 +-
> 3 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/arch/nios2/include/asm/pgtable.h b/arch/nios2/include/asm/pgtable.h
> index eaf8f28baa8b..74af16dafe86 100644
> --- a/arch/nios2/include/asm/pgtable.h
> +++ b/arch/nios2/include/asm/pgtable.h
> @@ -68,9 +68,7 @@ struct mm_struct;
>
> #define PAGE_COPY MKP(0, 0, 1)
>
> -#define PGD_ORDER 0
> -
> -#define PTRS_PER_PGD ((PAGE_SIZE << PGD_ORDER) / sizeof(pgd_t))
> +#define PTRS_PER_PGD (PAGE_SIZE / sizeof(pgd_t))
> #define PTRS_PER_PTE (PAGE_SIZE / sizeof(pte_t))
>
> #define USER_PTRS_PER_PGD \
> diff --git a/arch/nios2/mm/init.c b/arch/nios2/mm/init.c
> index 2d6dbf7701f6..eab65e8ea69c 100644
> --- a/arch/nios2/mm/init.c
> +++ b/arch/nios2/mm/init.c
> @@ -78,8 +78,7 @@ void __init mmu_init(void)
> flush_tlb_all();
> }
>
> -#define __page_aligned(order) __aligned(PAGE_SIZE << (order))
> -pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned(PGD_ORDER);
> +pgd_t swapper_pg_dir[PTRS_PER_PGD] __aligned(PAGE_SIZE);
> pte_t invalid_pte_table[PTRS_PER_PTE] __aligned(PAGE_SIZE);
> static struct page *kuser_page[1];
>
> diff --git a/arch/nios2/mm/pgtable.c b/arch/nios2/mm/pgtable.c
> index 9b587fd592dd..7c76e8a7447a 100644
> --- a/arch/nios2/mm/pgtable.c
> +++ b/arch/nios2/mm/pgtable.c
> @@ -54,7 +54,7 @@ pgd_t *pgd_alloc(struct mm_struct *mm)
> {
> pgd_t *ret, *init;
>
> - ret = (pgd_t *) __get_free_pages(GFP_KERNEL, PGD_ORDER);
> + ret = (pgd_t *) __get_free_page(GFP_KERNEL);
> if (ret) {
> init = pgd_offset(&init_mm, 0UL);
> pgd_init(ret);

Acked-by: Dinh Nguyen <[email protected]>