[GIT PULL] liveupdate: updates for 7.3-rc1, part 2

Mike Rapoport <[email protected]>
Newsgroups org.kvack.linux-mm,org.infradead.lists.kexec,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Linus,

This is the second part of liveupdate changes for v7.3-rc1.

The changes here depend on the work merged via Andrew's tree, so I waited for
his pull request to go in.

The following changes since commit 6d098029de0902372fdaa07e049db3866cbd8907:

  mm/mm_init: fold __init_page_from_nid() into __init_deferred_page() (2026-07-28 21:12:00 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux.git tags/liveupdate-v7.3-rc1-20260823

for you to fetch changes up to bc0f793c5c41601b273a2ca64c768adca1d447f5:

  Merge patch series "kho: make boot time huge page allocation work nicely with KHO" (2026-08-04 09:50:03 +0300)

----------------------------------------------------------------
kho: make boot time huge page allocation work nicely with KHO

Today allocation of gigantic pages in HugeTLB cannot work reliably with KHO:

* HugeTLB allocates gigantic pages using memblock and autoscaling of KHO
  scratch accounts for these allocations. When gigantic pages occupy half
  of the memory of more, KHO fails to allocate its scratch memory.
* After kexec handover, memblock allocations exclusively use KHO scratch
  that is not supposed to contain preserved memory. This essentially blocks
  preservation of HugeTLB with gigantic pages.

Extend early memory pools available for KHO kernel with areas that are
guaranteed not to contain preserved memory.

----------------------------------------------------------------
Mike Rapoport (Microsoft) (2):
      Merge branch 'mm-stable-6d098029de09' of https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm into kho-scratch
      Merge patch series "kho: make boot time huge page allocation work nicely with KHO"

Pratyush Yadav (Google) (21):
      x86/setup: do not include kexec_handover.h from asm/setup.h
      kho: generalize radix tree APIs
      kho: make radix max key width more obvious
      kho: disallow wide keys in radix tree
      kho: store incoming radix tree in kho_in
      kho: move all memory retrieval logic to kho_mem_retrieve()
      kho: add a struct for radix callbacks
      kho: add callback for table pages
      kho: add data argument to radix walk callback
      kho: allow early-boot usage of the KHO radix tree
      kho: allow destroying KHO radix tree
      kho: add kho_radix_init_tree()
      kho: expose kho_scratch_overlap() to kexec_handover.h
      kho: initialize kho_scratch pointer earlier in boot
      kho: initialize preserved memory map radix tree earlier
      mm/mm_init: don't rely on memblock to get KHO scratch migratetype
      kho: extend scratch
      memblock: always include KHO headers
      memblock: make HugeTLB bootmem allocation work with KHO
      memblock: add memblock_reserved_hugetlb_size()
      kho: exclude hugetlb memory from scratch size calculation

 MAINTAINERS                                     |   1 +
 arch/x86/boot/compressed/kaslr.c                |   2 +
 arch/x86/include/asm/Kbuild                     |   1 +
 arch/x86/include/asm/setup.h                    |   2 -
 arch/x86/kernel/setup.c                         |   1 +
 include/asm-generic/kexec_handover.h            |  12 +
 include/linux/kexec_handover.h                  |  31 +-
 include/linux/kho/abi/kexec_handover.h          |   9 +-
 include/linux/kho_radix_tree.h                  |  60 ++-
 include/linux/memblock.h                        |  23 +-
 kernel/liveupdate/Makefile                      |   1 -
 kernel/liveupdate/kexec_handover.c              | 525 +++++++++++++++++++-----
 kernel/liveupdate/kexec_handover_debug.c        |  25 --
 kernel/liveupdate/kexec_handover_internal.h     |   9 -
 mm/hugetlb.c                                    |   9 +-
 mm/memblock.c                                   | 154 +++++--
 mm/mm_init.c                                    |  29 +-
 tools/testing/memblock/internal.h               |   5 +
 tools/testing/memblock/linux/kexec_handover.h   |   9 +
 tools/testing/memblock/linux/kho/abi/memblock.h |  10 +
 tools/testing/memblock/linux/libfdt.h           |   9 +
 21 files changed, 673 insertions(+), 254 deletions(-)
 create mode 100644 include/asm-generic/kexec_handover.h
 delete mode 100644 kernel/liveupdate/kexec_handover_debug.c
 create mode 100644 tools/testing/memblock/linux/kexec_handover.h
 create mode 100644 tools/testing/memblock/linux/kho/abi/memblock.h
 create mode 100644 tools/testing/memblock/linux/libfdt.h
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.