[PATCH v4 1/2] kho: Adopt radix tree for preserved memory tracking
Jason Gunthorpe
jgg at nvidia.com
Tue Jan 13 06:58:02 PST 2026
On Tue, Jan 13, 2026 at 04:46:01PM +0200, Mike Rapoport wrote:
> On Tue, Jan 13, 2026 at 09:05:26AM -0400, Jason Gunthorpe wrote:
> > On Tue, Jan 13, 2026 at 01:34:42PM +0200, Mike Rapoport wrote:
> >
> > > For example mshv intends to use kho_radix_tree to track the hypervisor
> > > memory and there unpreserving will be a part of the normal flow.
> >
> > I do not think this is a good idea.
>
> Sorry I wasn't clear, mshv is not going to use KHO memory tracker but
> another instance of kho_radix_tree data structure.
> I don't see a problem with that.
Oh.. That's.. Interesting but sure if it is made into a library then
it makes some sense that it would need freeing support somehow.
I'm surprised there isn't a better data structure for what mshv needs
though?
> > Nothing should be touching KHO until a kexec sequence is started. KHO
> > calls should WARN_ON prior to this point. If a kexec sequence aborts
> > then the entire radix tree should be discarded and it should go back
> > to WARN_ON'ing KHO calls.
>
> The whole point of making KHO stateless was to decouple it from kexec
> sequence and let userspace control when preservation happens and to allow
> preserving as much as possible ahead of time to save cycles at
> kexec-reboot.
Sure, but also the data structures should not have a life of their
own, it needs to start from an empty slate every time luo starts the
sequence. There cannot be cruft left over from previous failed
attempts or something
Jason
More information about the kexec
mailing list