[RFC v1 0/4] Make KHO Stateless
Jason Miu
jasonmiu at google.com
Tue Sep 16 19:50:15 PDT 2025
This series transitions KHO from an xarray-based metadata tracking
system with serialization to using page table like data structures
that can be passed directly to the next kernel.
The key motivations for this change are to:
- Eliminate the need for data serialization before kexec.
- Remove the former KHO state machine by deprecating the finalize
and abort states.
- Pass preservation metadata more directly to the next kernel via the FDT.
The new approach uses a per-order page table structure (kho_order_table,
kho_page_table, kho_bitmap_table) to mark preserved pages. The physical
address of the root `kho_order_table` is passed in the FDT, allowing the
next kernel to reconstruct the preserved memory map.
The series includes the following changes:
1. Introduce the KHO page table data structures.
2. Adopt the KHO page tables, remove the xarray-based tracking and
the serialization/finalization code.
3. Update memblock to use direct KHO API calls, and adjust KHO FDT
completion timing.
4. Remove the KHO notifier system infrastructure.
Jason Miu (4):
kho: Introduce KHO page table data structures
kho: Adopt KHO page tables and remove serialization
memblock: Remove KHO notifier usage
kho: Remove notifier system infrastructure
include/linux/kexec_handover.h | 44 +-
kernel/kexec_core.c | 4 +
kernel/kexec_handover.c | 821 ++++++++++++++++-----------------
kernel/kexec_internal.h | 2 +
mm/memblock.c | 46 +-
5 files changed, 404 insertions(+), 513 deletions(-)
--
2.51.0.384.g4c02a37b29-goog
More information about the kexec
mailing list