Re: [PATCH v9 1/2] kho: Adopt radix tree for preserved memory tracking

From: Pasha Tatashin

Date: Sat Feb 07 2026 - 12:21:41 EST


On Thu, Feb 5, 2026 at 9:14 PM Jason Miu <jasonmiu@xxxxxxxxxx> wrote:
>
> Introduce a radix tree implementation for tracking preserved memory
> pages and switch the KHO memory tracking mechanism to use it. This
> lays the groundwork for a stateless KHO implementation that eliminates
> the need for serialization and the associated "finalize" state.
>
> This patch introduces the core radix tree data structures and
> constants to the KHO ABI. It adds the radix tree node and leaf
> structures, along with documentation for the radix tree key encoding
> scheme that combines a page's physical address and order.
>
> To support broader use by other kernel subsystems, such as hugetlb
> preservation, the core radix tree manipulation functions are exported
> as a public API.
>
> The xarray-based memory tracking is replaced with this new radix tree
> implementation. The core KHO preservation and unpreservation functions
> are wired up to use the radix tree helpers. On boot, the second kernel
> restores the preserved memory map by walking the radix tree whose root
> physical address is passed via the FDT.
>
> The ABI `compatible` version is bumped to "kho-v2" to reflect the
> structural changes in the preserved memory map and sub-FDT property
> names. This includes renaming "fdt" to "preserved-data" to better
> reflect that preserved state may use formats other than FDT.
>
> Signed-off-by: Jason Miu <jasonmiu@xxxxxxxxxx>
> ---
> Documentation/core-api/kho/abi.rst | 6 +
> Documentation/core-api/kho/index.rst | 12 +
> include/linux/kho/abi/kexec_handover.h | 144 +++++-
> include/linux/kho_radix_tree.h | 70 +++
> kernel/liveupdate/kexec_handover.c | 651 +++++++++++++------------
> 5 files changed, 561 insertions(+), 322 deletions(-)
> create mode 100644 include/linux/kho_radix_tree.h

Reviewed-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx>

Thanks,
Pasha