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 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 >