Message ID | 20200220061023.958-1-alex@ghiti.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | riscv: Use p*d_leaf macros to define p*d_huge | expand |
On Thu, Feb 20, 2020 at 11:41 AM Alexandre Ghiti <alex@ghiti.fr> wrote: > > The newly introduced p*d_leaf macros allow to check if an entry of the > page table map to a physical page instead of the next level. To avoid > duplication of code, use those macros to determine if a page table entry > points to a hugepage. > > Suggested-by: Paul Walmsley <paul.walmsley@sifive.com> > Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> > --- > arch/riscv/mm/hugetlbpage.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/mm/hugetlbpage.c b/arch/riscv/mm/hugetlbpage.c > index 0d4747e9d5b5..a6189ed36c5f 100644 > --- a/arch/riscv/mm/hugetlbpage.c > +++ b/arch/riscv/mm/hugetlbpage.c > @@ -4,14 +4,12 @@ > > int pud_huge(pud_t pud) > { > - return pud_present(pud) && > - (pud_val(pud) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC)); > + return pud_leaf(pud); > } > > int pmd_huge(pmd_t pmd) > { > - return pmd_present(pmd) && > - (pmd_val(pmd) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC)); > + return pmd_leaf(pmd); > } > > static __init int setup_hugepagesz(char *opt) > -- > 2.20.1 > Looks good to me. Reviewed-by: Anup Patel <anup@brainfault.org> Regards, Anup
On Wed, 19 Feb 2020 22:10:23 PST (-0800), alex@ghiti.fr wrote: > The newly introduced p*d_leaf macros allow to check if an entry of the > page table map to a physical page instead of the next level. To avoid > duplication of code, use those macros to determine if a page table entry > points to a hugepage. > > Suggested-by: Paul Walmsley <paul.walmsley@sifive.com> > Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> > --- > arch/riscv/mm/hugetlbpage.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/mm/hugetlbpage.c b/arch/riscv/mm/hugetlbpage.c > index 0d4747e9d5b5..a6189ed36c5f 100644 > --- a/arch/riscv/mm/hugetlbpage.c > +++ b/arch/riscv/mm/hugetlbpage.c > @@ -4,14 +4,12 @@ > > int pud_huge(pud_t pud) > { > - return pud_present(pud) && > - (pud_val(pud) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC)); > + return pud_leaf(pud); > } > > int pmd_huge(pmd_t pmd) > { > - return pmd_present(pmd) && > - (pmd_val(pmd) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC)); > + return pmd_leaf(pmd); > } > > static __init int setup_hugepagesz(char *opt) Thanks, this is on for-next.
diff --git a/arch/riscv/mm/hugetlbpage.c b/arch/riscv/mm/hugetlbpage.c index 0d4747e9d5b5..a6189ed36c5f 100644 --- a/arch/riscv/mm/hugetlbpage.c +++ b/arch/riscv/mm/hugetlbpage.c @@ -4,14 +4,12 @@ int pud_huge(pud_t pud) { - return pud_present(pud) && - (pud_val(pud) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC)); + return pud_leaf(pud); } int pmd_huge(pmd_t pmd) { - return pmd_present(pmd) && - (pmd_val(pmd) & (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC)); + return pmd_leaf(pmd); } static __init int setup_hugepagesz(char *opt)
The newly introduced p*d_leaf macros allow to check if an entry of the page table map to a physical page instead of the next level. To avoid duplication of code, use those macros to determine if a page table entry points to a hugepage. Suggested-by: Paul Walmsley <paul.walmsley@sifive.com> Signed-off-by: Alexandre Ghiti <alex@ghiti.fr> --- arch/riscv/mm/hugetlbpage.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)