On Fri, Nov 14, 2025 at 2:30 AM Mike Rapoport <[email protected]> wrote: > > On Mon, Nov 10, 2025 at 01:07:15PM -0500, Pasha Tatashin wrote: > > Upcoming LUO requires KHO for its operations, the requirement to place > > both KHO=on and liveupdate=on becomes redundant. Set KHO to be enabled > > by default. > > I though more about this and it seems too much of a change. kho=1 enables > scratch areas and that significantly changes how free pages are distributed > in the free lists. > > Let's go with a Kconfig option we discussed of-list: > (this is on top of the current mmotm/mm-nonmm-unstable)
I will include this into the KHO simplification series > > From 823299d80aa4f7c16ef6cfd798a19e1dfe1a91ab Mon Sep 17 00:00:00 2001 > From: Pasha Tatashin <[email protected]> > Date: Fri, 14 Nov 2025 09:27:47 +0200 > Subject: [PATCH] kho: Allow KHO to be enabled by default > > Upcoming LUO requires KHO for its operations, the requirement to place > both KHO=on and liveupdate=on becomes reduntant. Let's allow KHO to be > enabled by default, and CONFIG_LIVEUPDATE can select this CONFIG. > > Signed-off-by: Pasha Tatashin <[email protected]> > Signed-off-by: Mike Rapoport (Microsoft) <[email protected]> > --- > kernel/liveupdate/Kconfig | 8 ++++++++ > kernel/liveupdate/kexec_handover.c | 2 +- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/kernel/liveupdate/Kconfig b/kernel/liveupdate/Kconfig > index d7344d347f69..25c9a4d7781f 100644 > --- a/kernel/liveupdate/Kconfig > +++ b/kernel/liveupdate/Kconfig > @@ -63,4 +63,12 @@ config KEXEC_HANDOVER_DEBUGFS > Also, enables inspecting the KHO fdt trees with the debugfs binary > blobs. > > +config KEXEC_HANDOVER_ENABLE_DEFAULT > + bool "Enable kexec handover by default" > + depends on KEXEC_HANDOVER > + help > + Enable the kexec handover by default. It is equivalent of passing > + kho=on via kernel parameter, and can be overwritten to off via > + kho=off. > + > endmenu > diff --git a/kernel/liveupdate/kexec_handover.c > b/kernel/liveupdate/kexec_handover.c > index 568cd9fe9aca..23a3df297bb3 100644 > --- a/kernel/liveupdate/kexec_handover.c > +++ b/kernel/liveupdate/kexec_handover.c > @@ -51,7 +51,7 @@ union kho_page_info { > > static_assert(sizeof(union kho_page_info) == sizeof(((struct page > *)0)->private)); > > -static bool kho_enable __ro_after_init = true; > +static bool kho_enable __ro_after_init = > IS_ENABLED(CONFIG_KEXEC_HANDOVER_ENABLE_DEFAULT); > > bool kho_is_enabled(void) > { > -- > 2.50.1 > > > > -- > Sincerely yours, > Mike.
