linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC v1 0/4] Make KHO Stateless
@ 2025-09-17  2:50 Jason Miu
  2025-09-17  2:50 ` [RFC v1 1/4] kho: Introduce KHO page table data structures Jason Miu
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Jason Miu @ 2025-09-17  2:50 UTC (permalink / raw)
  To: Alexander Graf, Andrew Morton, Baoquan He, Changyuan Lyu,
	David Matlack, David Rientjes, Jason Gunthorpe, Jason Miu,
	Joel Granados, Marcos Paulo de Souza, Mario Limonciello,
	Mike Rapoport, Pasha Tatashin, Petr Mladek, Rafael J . Wysocki,
	Steven Chen, Yan Zhao, kexec, linux-kernel, linux-mm

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



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2025-09-25 12:33 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-17  2:50 [RFC v1 0/4] Make KHO Stateless Jason Miu
2025-09-17  2:50 ` [RFC v1 1/4] kho: Introduce KHO page table data structures Jason Miu
2025-09-17 12:21   ` Jason Gunthorpe
2025-09-17 16:18     ` Pasha Tatashin
2025-09-17 16:32       ` Jason Gunthorpe
2025-09-19  6:49         ` Jason Miu
2025-09-19 12:56           ` Jason Gunthorpe
2025-09-17  2:50 ` [RFC v1 2/4] kho: Adopt KHO page tables and remove serialization Jason Miu
2025-09-17 17:52   ` Mike Rapoport
2025-09-19  6:58     ` Jason Miu
2025-09-17  2:50 ` [RFC v1 3/4] memblock: Remove KHO notifier usage Jason Miu
2025-09-17  2:50 ` [RFC v1 4/4] kho: Remove notifier system infrastructure Jason Miu
2025-09-17 11:36 ` [RFC v1 0/4] Make KHO Stateless Jason Gunthorpe
2025-09-17 14:48   ` Pasha Tatashin
2025-09-21 22:26   ` Matthew Wilcox
2025-09-21 23:07     ` Pasha Tatashin
2025-09-25  9:19 ` Mike Rapoport
2025-09-25 12:27   ` Pratyush Yadav
2025-09-25 12:33     ` Jason Gunthorpe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).