[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250917025019.1585041-1-jasonmiu@google.com>
Date: Tue, 16 Sep 2025 19:50:15 -0700
From: Jason Miu <jasonmiu@...gle.com>
To: Alexander Graf <graf@...zon.com>, Andrew Morton <akpm@...ux-foundation.org>,
Baoquan He <bhe@...hat.com>, Changyuan Lyu <changyuanl@...gle.com>,
David Matlack <dmatlack@...gle.com>, David Rientjes <rientjes@...gle.com>,
Jason Gunthorpe <jgg@...dia.com>, Jason Miu <jasonmiu@...gle.com>,
Joel Granados <joel.granados@...nel.org>, Marcos Paulo de Souza <mpdesouza@...e.com>,
Mario Limonciello <mario.limonciello@....com>, Mike Rapoport <rppt@...nel.org>,
Pasha Tatashin <pasha.tatashin@...een.com>, Petr Mladek <pmladek@...e.com>,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>, Steven Chen <chenste@...ux.microsoft.com>,
Yan Zhao <yan.y.zhao@...el.com>, kexec@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: [RFC v1 0/4] Make KHO Stateless
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
Powered by blists - more mailing lists