Message ID | 20220624173656.2033256-6-jthoughton@google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | hugetlb: Introduce HugeTLB high-granularity mapping | expand |
On 24/06/22 11:06 pm, James Houghton wrote: > This adds the Kconfig to enable or disable high-granularity mapping. It > is enabled by default for architectures that use > ARCH_WANT_GENERAL_HUGETLB. > > There is also an arch-specific config ARCH_HAS_SPECIAL_HUGETLB_HGM which > controls whether or not the architecture has been updated to support > HGM if it doesn't use general HugeTLB. > > Signed-off-by: James Houghton <jthoughton@google.com> reviewed-by:manish.mishra@nutanix.com > --- > fs/Kconfig | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/fs/Kconfig b/fs/Kconfig > index 5976eb33535f..d76c7d812656 100644 > --- a/fs/Kconfig > +++ b/fs/Kconfig > @@ -268,6 +268,13 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON > to enable optimizing vmemmap pages of HugeTLB by default. It can then > be disabled on the command line via hugetlb_free_vmemmap=off. > > +config ARCH_HAS_SPECIAL_HUGETLB_HGM > + bool > + > +config HUGETLB_HIGH_GRANULARITY_MAPPING > + def_bool ARCH_WANT_GENERAL_HUGETLB || ARCH_HAS_SPECIAL_HUGETLB_HGM > + depends on HUGETLB_PAGE > + > config MEMFD_CREATE > def_bool TMPFS || HUGETLBFS >
On Mon, Jun 27, 2022 at 5:29 AM manish.mishra <manish.mishra@nutanix.com> wrote: > > > On 24/06/22 11:06 pm, James Houghton wrote: > > This adds the Kconfig to enable or disable high-granularity mapping. It > > is enabled by default for architectures that use > > ARCH_WANT_GENERAL_HUGETLB. > > > > There is also an arch-specific config ARCH_HAS_SPECIAL_HUGETLB_HGM which > > controls whether or not the architecture has been updated to support > > HGM if it doesn't use general HugeTLB. > > > > Signed-off-by: James Houghton <jthoughton@google.com> > reviewed-by:manish.mishra@nutanix.com Mostly minor nits, Reviewed-by: Mina Almasry <almasrymina@google.com> > > --- > > fs/Kconfig | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/fs/Kconfig b/fs/Kconfig > > index 5976eb33535f..d76c7d812656 100644 > > --- a/fs/Kconfig > > +++ b/fs/Kconfig > > @@ -268,6 +268,13 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON > > to enable optimizing vmemmap pages of HugeTLB by default. It can then > > be disabled on the command line via hugetlb_free_vmemmap=off. > > > > +config ARCH_HAS_SPECIAL_HUGETLB_HGM Nit: would have preferred just ARCH_HAS_HUGETLB_HGM, as ARCH implies arch-specific. > > + bool > > + > > +config HUGETLB_HIGH_GRANULARITY_MAPPING > > + def_bool ARCH_WANT_GENERAL_HUGETLB || ARCH_HAS_SPECIAL_HUGETLB_HGM Nit: would have preferred to go with either HGM _or_ HIGH_GRANULARITY_MAPPING (or whatever new name comes up), rather than both, for consistency's sake. > > + depends on HUGETLB_PAGE > > + > > config MEMFD_CREATE > > def_bool TMPFS || HUGETLBFS > >
diff --git a/fs/Kconfig b/fs/Kconfig index 5976eb33535f..d76c7d812656 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -268,6 +268,13 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON to enable optimizing vmemmap pages of HugeTLB by default. It can then be disabled on the command line via hugetlb_free_vmemmap=off. +config ARCH_HAS_SPECIAL_HUGETLB_HGM + bool + +config HUGETLB_HIGH_GRANULARITY_MAPPING + def_bool ARCH_WANT_GENERAL_HUGETLB || ARCH_HAS_SPECIAL_HUGETLB_HGM + depends on HUGETLB_PAGE + config MEMFD_CREATE def_bool TMPFS || HUGETLBFS
This adds the Kconfig to enable or disable high-granularity mapping. It is enabled by default for architectures that use ARCH_WANT_GENERAL_HUGETLB. There is also an arch-specific config ARCH_HAS_SPECIAL_HUGETLB_HGM which controls whether or not the architecture has been updated to support HGM if it doesn't use general HugeTLB. Signed-off-by: James Houghton <jthoughton@google.com> --- fs/Kconfig | 7 +++++++ 1 file changed, 7 insertions(+)