From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0CC0738E116 for ; Mon, 19 Jan 2026 18:43:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768848199; cv=none; b=WoKPagtbAzkN9iK8clSHGkdQasA7qFOq5U2U0rX50VBgdCgJfFmSHc05FaIndjKMZz0FbIov/OHW/NswAM6mkaQHYgiNcOn8mXzzZj7u+YHeVVjqQuHOsOQhiLg24xP1HWo6/MubrxJz+gMa9lGKsp53UC2pA9nO5jd28TXe67o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768848199; c=relaxed/simple; bh=0jusXPuIwXIPjxzuxFwH6bINDFwmNsrGqBF1AyAan4c=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=BQmg8FYHVhze5QBPJVu7e0aIc3JyDLrm+a8bGzah3a2FR3oBWbhwr25AEML0RYVsLtm6ym6sCLZaVrUv5dB4Nc85X/s3UM7xEAhzALDKwH3T8NqiAvyLqwbKwcdnyY84X+y9Jlt3gvPXf1+W8K3WyKVW39sPW+HYnksmY64OWxY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YM0Qqjqd; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YM0Qqjqd" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BF682C116C6; Mon, 19 Jan 2026 18:43:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768848198; bh=0jusXPuIwXIPjxzuxFwH6bINDFwmNsrGqBF1AyAan4c=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=YM0QqjqdUWbm50XeI0p+NG1eLf0kzunlAOfcRNZ0NB853n0+RKvlIUwYvlshIg0+W Zk3SQfmJqf89mLGzySXSdjkp+9F0et7hr7pZgBbHWzx4FMbWHAImWbAfe27haI2Fce NredufFmP9X9HwEpeZbpxUfaZi7kF1xM56WGMid0jC6/4zEVdDLBXriJ6k+jZmw1IY 1j7yON5Qk3ZJa4NtiBder0W/z//vg4Ss6OM4tywuYtvl7lZW8T4eVoKzXwYKHxiORs HyGK2e5M6HQfm11Y4SqNf21eieyjng6xKG/NVn/0xs/YcJj2ucoOlLy/LIWX2aG2nf BEcLSVND6WvFQ== Date: Mon, 19 Jan 2026 20:43:10 +0200 From: Mike Rapoport To: Jason Miu Cc: Alexander Graf , Andrew Morton , Baoquan He , Changyuan Lyu , David Matlack , David Rientjes , Jason Gunthorpe , Pasha Tatashin , Pratyush Yadav , kexec@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v7 0/2] Make KHO Stateless Message-ID: References: <20260116034432.1520731-1-jasonmiu@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260116034432.1520731-1-jasonmiu@google.com> Hi Jason, On Thu, Jan 15, 2026 at 07:44:30PM -0800, Jason Miu wrote: > This series transitions KHO from an xarray-based metadata tracking system > with serialization to a radix tree data structure 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 KHO finalize state. > - Pass preservation metadata more directly to the next kernel via the FDT. > > The new approach uses a radix tree to mark preserved pages. A page's > physical address and its order are encoded into a single value. The tree > is composed of multiple levels of page-sized tables, with leaf nodes > being bitmaps where each set bit represents a preserved page. The > physical address of the radix tree's root is passed in the FDT, allowing > the next kernel to reconstruct the preserved memory map. > > This series is broken down into the following patches: > > 1. kho: Adopt radix tree for preserved memory tracking: > Replaces the xarray-based tracker with the new radix tree > implementation and increments the ABI version. > > 2. kho: Remove finalize state and clients: > Removes the now-obsolete kho_finalize() function and its usage > from client code and debugfs. > > --- > > Changelog since v6 [1]: > - Fixed a potential dangling pointer in kho_radix_add_page() on allocation failure > - Fixed a premature return in __kho_radix_walk_tree() > - Corrected the size type in kho_preserved_memory_reserve() to match memblock_reserve() git range-diff claims that v5, v6 and v7 are identical. Can you please verify that it's the latest version you intended to send? > [1] https://lore.kernel.org/lkml/20260115230047.1220580-1-jasonmiu@google.com/ > > --- > > Jason Miu (2): > kho: Adopt radix tree for preserved memory tracking > kho: Remove finalize state and clients > > Documentation/admin-guide/mm/kho.rst | 53 +- > Documentation/core-api/kho/abi.rst | 6 + > Documentation/core-api/kho/index.rst | 18 +- > include/linux/kho/abi/kexec_handover.h | 144 +++- > include/linux/kho_radix_tree.h | 70 ++ > kernel/liveupdate/kexec_handover.c | 695 ++++++++++---------- > kernel/liveupdate/kexec_handover_debugfs.c | 23 - > kernel/liveupdate/kexec_handover_internal.h | 3 - > kernel/liveupdate/luo_core.c | 12 +- > kernel/liveupdate/luo_flb.c | 2 +- > tools/testing/selftests/kho/init.c | 20 - > 11 files changed, 573 insertions(+), 473 deletions(-) > create mode 100644 include/linux/kho_radix_tree.h > > > base-commit: 9b7977f9e39b7768c70c2aa497f04e7569fd3e00 > -- > 2.52.0.457.g6b5491de43-goog > -- Sincerely yours, Mike.