Message ID | 20190907172545.10910.88045.stgit@localhost.localdomain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | stg mail -e --version=v9 \ | expand |
On 07.09.19 19:25, Alexander Duyck wrote: > From: Alexander Duyck <alexander.h.duyck@linux.intel.com> > > Move the static definition for things such as HUGETLB_PAGE_ORDER out of > asm/pgtable.h and place it in page-defs.h. By doing this the includes > become much easier to deal with as currently arm64 is the only architecture > that didn't include this definition in the asm/page.h file or a file > included by it. > > It also makes logical sense as PAGE_SHIFT was already defined in > page-defs.h so now we also have HPAGE_SHIFT defined there as well. > > Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> > --- > arch/arm64/include/asm/page-def.h | 9 +++++++++ > arch/arm64/include/asm/pgtable.h | 9 --------- > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/arch/arm64/include/asm/page-def.h b/arch/arm64/include/asm/page-def.h > index f99d48ecbeef..1c5b079e2482 100644 > --- a/arch/arm64/include/asm/page-def.h > +++ b/arch/arm64/include/asm/page-def.h > @@ -20,4 +20,13 @@ > #define CONT_SIZE (_AC(1, UL) << (CONT_SHIFT + PAGE_SHIFT)) > #define CONT_MASK (~(CONT_SIZE-1)) > > +/* > + * Hugetlb definitions. > + */ > +#define HUGE_MAX_HSTATE 4 > +#define HPAGE_SHIFT PMD_SHIFT > +#define HPAGE_SIZE (_AC(1, UL) << HPAGE_SHIFT) > +#define HPAGE_MASK (~(HPAGE_SIZE - 1)) > +#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) > + I wonder if you should initially limit "config PAGE_REPORTING" to x86 only and unlock it for the other targets once we actually test it there. Or did you test PAGE_REPORTING on other architectures as well?
On Mon, 2019-09-09 at 10:52 +0200, David Hildenbrand wrote: > On 07.09.19 19:25, Alexander Duyck wrote: > > From: Alexander Duyck <alexander.h.duyck@linux.intel.com> > > > > Move the static definition for things such as HUGETLB_PAGE_ORDER out of > > asm/pgtable.h and place it in page-defs.h. By doing this the includes > > become much easier to deal with as currently arm64 is the only architecture > > that didn't include this definition in the asm/page.h file or a file > > included by it. > > > > It also makes logical sense as PAGE_SHIFT was already defined in > > page-defs.h so now we also have HPAGE_SHIFT defined there as well. > > > > Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> > > --- > > arch/arm64/include/asm/page-def.h | 9 +++++++++ > > arch/arm64/include/asm/pgtable.h | 9 --------- > > 2 files changed, 9 insertions(+), 9 deletions(-) > > > > diff --git a/arch/arm64/include/asm/page-def.h b/arch/arm64/include/asm/page-def.h > > index f99d48ecbeef..1c5b079e2482 100644 > > --- a/arch/arm64/include/asm/page-def.h > > +++ b/arch/arm64/include/asm/page-def.h > > @@ -20,4 +20,13 @@ > > #define CONT_SIZE (_AC(1, UL) << (CONT_SHIFT + PAGE_SHIFT)) > > #define CONT_MASK (~(CONT_SIZE-1)) > > > > +/* > > + * Hugetlb definitions. > > + */ > > +#define HUGE_MAX_HSTATE 4 > > +#define HPAGE_SHIFT PMD_SHIFT > > +#define HPAGE_SIZE (_AC(1, UL) << HPAGE_SHIFT) > > +#define HPAGE_MASK (~(HPAGE_SIZE - 1)) > > +#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) > > + > > I wonder if you should initially limit "config PAGE_REPORTING" to x86 > only and unlock it for the other targets once we actually test it there. > Or did you test PAGE_REPORTING on other architectures as well? > I haven't, but essentially the effects should be the same regardless of architecture. In addition since this is a feature that can be enabled/disabled via QEMU I am not sure there is much harm other than getting additional testing by enabling for all of the architectures at once.
On Sat, Sep 07, 2019 at 10:25:45AM -0700, Alexander Duyck wrote: > From: Alexander Duyck <alexander.h.duyck@linux.intel.com> > > Move the static definition for things such as HUGETLB_PAGE_ORDER out of > asm/pgtable.h and place it in page-defs.h. By doing this the includes > become much easier to deal with as currently arm64 is the only architecture > that didn't include this definition in the asm/page.h file or a file > included by it. > > It also makes logical sense as PAGE_SHIFT was already defined in > page-defs.h so now we also have HPAGE_SHIFT defined there as well. > > Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> > --- > arch/arm64/include/asm/page-def.h | 9 +++++++++ > arch/arm64/include/asm/pgtable.h | 9 --------- > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/arch/arm64/include/asm/page-def.h b/arch/arm64/include/asm/page-def.h > index f99d48ecbeef..1c5b079e2482 100644 > --- a/arch/arm64/include/asm/page-def.h > +++ b/arch/arm64/include/asm/page-def.h > @@ -20,4 +20,13 @@ > #define CONT_SIZE (_AC(1, UL) << (CONT_SHIFT + PAGE_SHIFT)) > #define CONT_MASK (~(CONT_SIZE-1)) > > +/* > + * Hugetlb definitions. > + */ > +#define HUGE_MAX_HSTATE 4 > +#define HPAGE_SHIFT PMD_SHIFT > +#define HPAGE_SIZE (_AC(1, UL) << HPAGE_SHIFT) > +#define HPAGE_MASK (~(HPAGE_SIZE - 1)) > +#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) > + > #endif /* __ASM_PAGE_DEF_H */ > diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h > index 7576df00eb50..06a376de9bd6 100644 > --- a/arch/arm64/include/asm/pgtable.h > +++ b/arch/arm64/include/asm/pgtable.h > @@ -305,15 +305,6 @@ static inline int pte_same(pte_t pte_a, pte_t pte_b) > */ > #define pte_mkhuge(pte) (__pte(pte_val(pte) & ~PTE_TABLE_BIT)) > > -/* > - * Hugetlb definitions. > - */ > -#define HUGE_MAX_HSTATE 4 > -#define HPAGE_SHIFT PMD_SHIFT > -#define HPAGE_SIZE (_AC(1, UL) << HPAGE_SHIFT) > -#define HPAGE_MASK (~(HPAGE_SIZE - 1)) > -#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) > - Acked-by: Will Deacon <will@kernel.org> I'm assuming you're taking this along with the other patches, but please shout if you'd rather it went via the arm64 tree. Will
On Tue, Sep 17, 2019 at 10:49 AM Will Deacon <will@kernel.org> wrote: > > On Sat, Sep 07, 2019 at 10:25:45AM -0700, Alexander Duyck wrote: > > From: Alexander Duyck <alexander.h.duyck@linux.intel.com> > > > > Move the static definition for things such as HUGETLB_PAGE_ORDER out of > > asm/pgtable.h and place it in page-defs.h. By doing this the includes > > become much easier to deal with as currently arm64 is the only architecture > > that didn't include this definition in the asm/page.h file or a file > > included by it. > > > > It also makes logical sense as PAGE_SHIFT was already defined in > > page-defs.h so now we also have HPAGE_SHIFT defined there as well. > > > > Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> > > --- > > arch/arm64/include/asm/page-def.h | 9 +++++++++ > > arch/arm64/include/asm/pgtable.h | 9 --------- > > 2 files changed, 9 insertions(+), 9 deletions(-) > > > > diff --git a/arch/arm64/include/asm/page-def.h b/arch/arm64/include/asm/page-def.h > > index f99d48ecbeef..1c5b079e2482 100644 > > --- a/arch/arm64/include/asm/page-def.h > > +++ b/arch/arm64/include/asm/page-def.h > > @@ -20,4 +20,13 @@ > > #define CONT_SIZE (_AC(1, UL) << (CONT_SHIFT + PAGE_SHIFT)) > > #define CONT_MASK (~(CONT_SIZE-1)) > > > > +/* > > + * Hugetlb definitions. > > + */ > > +#define HUGE_MAX_HSTATE 4 > > +#define HPAGE_SHIFT PMD_SHIFT > > +#define HPAGE_SIZE (_AC(1, UL) << HPAGE_SHIFT) > > +#define HPAGE_MASK (~(HPAGE_SIZE - 1)) > > +#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) > > + > > #endif /* __ASM_PAGE_DEF_H */ > > diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h > > index 7576df00eb50..06a376de9bd6 100644 > > --- a/arch/arm64/include/asm/pgtable.h > > +++ b/arch/arm64/include/asm/pgtable.h > > @@ -305,15 +305,6 @@ static inline int pte_same(pte_t pte_a, pte_t pte_b) > > */ > > #define pte_mkhuge(pte) (__pte(pte_val(pte) & ~PTE_TABLE_BIT)) > > > > -/* > > - * Hugetlb definitions. > > - */ > > -#define HUGE_MAX_HSTATE 4 > > -#define HPAGE_SHIFT PMD_SHIFT > > -#define HPAGE_SIZE (_AC(1, UL) << HPAGE_SHIFT) > > -#define HPAGE_MASK (~(HPAGE_SIZE - 1)) > > -#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) > > - > > Acked-by: Will Deacon <will@kernel.org> > > I'm assuming you're taking this along with the other patches, but please > shout if you'd rather it went via the arm64 tree. > > Will As it turns out I am close to submitting a v10 that doesn't need this patch. I basically just needed to move the list manipulators out of mmzone.h and then moved my header file out of there so I no longer needed the code. Thanks. - Alex
diff --git a/arch/arm64/include/asm/page-def.h b/arch/arm64/include/asm/page-def.h index f99d48ecbeef..1c5b079e2482 100644 --- a/arch/arm64/include/asm/page-def.h +++ b/arch/arm64/include/asm/page-def.h @@ -20,4 +20,13 @@ #define CONT_SIZE (_AC(1, UL) << (CONT_SHIFT + PAGE_SHIFT)) #define CONT_MASK (~(CONT_SIZE-1)) +/* + * Hugetlb definitions. + */ +#define HUGE_MAX_HSTATE 4 +#define HPAGE_SHIFT PMD_SHIFT +#define HPAGE_SIZE (_AC(1, UL) << HPAGE_SHIFT) +#define HPAGE_MASK (~(HPAGE_SIZE - 1)) +#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) + #endif /* __ASM_PAGE_DEF_H */ diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 7576df00eb50..06a376de9bd6 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -305,15 +305,6 @@ static inline int pte_same(pte_t pte_a, pte_t pte_b) */ #define pte_mkhuge(pte) (__pte(pte_val(pte) & ~PTE_TABLE_BIT)) -/* - * Hugetlb definitions. - */ -#define HUGE_MAX_HSTATE 4 -#define HPAGE_SHIFT PMD_SHIFT -#define HPAGE_SIZE (_AC(1, UL) << HPAGE_SHIFT) -#define HPAGE_MASK (~(HPAGE_SIZE - 1)) -#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) - static inline pte_t pgd_pte(pgd_t pgd) { return __pte(pgd_val(pgd));