mbox series

[v6,0/4] add hugetlb_free_vmemmap sysctl

Message ID 20220330153745.20465-1-songmuchun@bytedance.com (mailing list archive)
Headers show
Series add hugetlb_free_vmemmap sysctl | expand

Message

Muchun Song March 30, 2022, 3:37 p.m. UTC
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.

v6:
  - Remove "make syncconfig" from Kbuild.

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@intel.com>.
  - 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                                  |  15 ++++-
 include/linux/memory_hotplug.h          |   9 +++
 include/linux/mm_types.h                |   2 +
 include/linux/page-flags.h              |   3 +-
 kernel/sysctl.c                         |   2 +-
 mm/hugetlb_vmemmap.c                    | 109 ++++++++++++++++++++++++--------
 mm/hugetlb_vmemmap.h                    |   8 ++-
 mm/memory_hotplug.c                     |  27 ++++++--
 mm/struct_page_size.c                   |  20 ++++++
 10 files changed, 171 insertions(+), 38 deletions(-)
 create mode 100644 mm/struct_page_size.c