Re: [PATCH v5 0/4] add hugetlb_free_vmemmap sysctl

From: Masahiro Yamada
Date: Fri Mar 25 2022 - 01:04:34 EST


On Thu, Mar 24, 2022 at 6:58 AM Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote:
>
> Masahiro,
>
> can I trouble you to help review the first patch here? I thought
> something like this might be possible, and Muchun has done some good
> work to try it. If anyone can find hole on that kconfig hack it would
> be you. I'll bounce you a copy of the patches.
>
> Luis


Now, I took a look at it.
Please do not do such a horrible hack.

Thanks.











>
> On Wed, Mar 23, 2022 at 08:55:19PM +0800, Muchun Song wrote:
> > This series is based on next-20220310.
> >
> > This series amis to add hugetlb_free_vmemmap sysctl to enable the feature
> > of freeing vmemmap pages of HugeTLB pages.
> >
> > v5:
> > - Fix not working properly if one is workig off of a very clean build
> > reported by Luis Chamberlain.
> > - Add Suggested-by for Luis Chamberlain.
> >
> > Thanks.
> >
> > v4:
> > - Introduce STRUCT_PAGE_SIZE_IS_POWER_OF_2 inspired by Luis.
> >
> > v3:
> > - Add pr_warn_once() (Mike).
> > - Handle the transition from enabling to disabling (Luis)
> >
> > v2:
> > - Fix compilation when !CONFIG_MHP_MEMMAP_ON_MEMORY reported by kernel
> > test robot <lkp@xxxxxxxxx>.
> > - Move sysctl code from kernel/sysctl.c to mm/hugetlb_vmemmap.c.
> >
> > Muchun Song (4):
> > mm: hugetlb_vmemmap: introduce STRUCT_PAGE_SIZE_IS_POWER_OF_2
> > mm: memory_hotplug: override memmap_on_memory when
> > hugetlb_free_vmemmap=on
> > sysctl: allow to set extra1 to SYSCTL_ONE
> > mm: hugetlb_vmemmap: add hugetlb_free_vmemmap sysctl
> >
> > Documentation/admin-guide/sysctl/vm.rst | 14 +++++
> > Kbuild | 14 +++++
> > fs/Kconfig | 1 +
> > include/linux/memory_hotplug.h | 9 +++
> > include/linux/mm_types.h | 2 +
> > kernel/sysctl.c | 2 +-
> > mm/Kconfig | 3 +
> > mm/hugetlb_vmemmap.c | 107 ++++++++++++++++++++++++--------
> > mm/hugetlb_vmemmap.h | 4 +-
> > mm/memory_hotplug.c | 27 ++++++--
> > mm/struct_page_size.c | 19 ++++++
> > scripts/check_struct_page_po2.sh | 9 +++
> > 12 files changed, 177 insertions(+), 34 deletions(-)
> > create mode 100644 mm/struct_page_size.c
> > create mode 100755 scripts/check_struct_page_po2.sh
> >
> > --
> > 2.11.0
> >



--
Best Regards
Masahiro Yamada