[PATCH v2 00/10] mm: remove CONFIG_HAVE_BOOTMEM_INFO_NODE (Part 2)

From: David Hildenbrand (Arm)

Date: Thu Jul 16 2026 - 11:06:09 EST


Let's remove the remaining pieces of CONFIG_HAVE_BOOTMEM_INFO_NODE,
performing some smaller cleanups around freeing of reserved vmemmap
pages on the way.

Tested on x86-64 with hugetlb vmemmap optimization in combination with
KMEMLEAK. Heavily cross-compiled.

Signed-off-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
---
Changes in v2:
- In patch #2, reverse the order of setting the page count and clearing
PG_reserved, and modify the patch description accordingly.
- Link to v1: https://patch.msgid.link/20260708-bootmem_info_part2-v1-0-156ce4986598@xxxxxxxxxx

---

David Hildenbrand (Arm) (10):
x86/mm: drop order parameter from free_pagetable()
mm: provide free_reserved_pages(), removing x86 variant
s390/mm: use free_reserved_pages() in vmem_free_pages()
mm/bootmem_info: allow calling free_bootmem_page() on pages without a bootmem_type
x86/mm: stop marking vmemmap as SECTION_INFO
x86/mm: stop marking page tables as MIX_SECTION_INFO
x86/mm: remove CONFIG_HAVE_BOOTMEM_INFO_NODE
mm/hugetlb_vmemmap: remove bootmem_info leftovers
mm/sparse: remove bootmem_info.h include
mm/bootmem_info: remove CONFIG_HAVE_BOOTMEM_INFO_NODE

MAINTAINERS | 1 -
arch/s390/mm/vmem.c | 4 +-
arch/x86/mm/init_64.c | 134 ++++---------------------------------------
include/linux/bootmem_info.h | 89 ----------------------------
include/linux/mm.h | 8 ++-
mm/Kconfig | 8 ---
mm/Makefile | 1 -
mm/bootmem_info.c | 72 -----------------------
mm/hugetlb_vmemmap.c | 8 +--
mm/page_alloc.c | 33 ++++++++---
mm/sparse.c | 1 -
11 files changed, 46 insertions(+), 313 deletions(-)

---

base-commit: d11ba1f570615ec8d4814d6313ee1d7075a33787

change-id: 20260428-bootmem_info_part2-4bbb445d9b3d

--

Cheers,

David