linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] liveupdate: kho: Enable KHO by default
@ 2025-11-10 18:07 Pasha Tatashin
  2025-11-10 18:34 ` Mike Rapoport
  2025-11-14  7:30 ` Mike Rapoport
  0 siblings, 2 replies; 7+ messages in thread
From: Pasha Tatashin @ 2025-11-10 18:07 UTC (permalink / raw)
  To: akpm, pasha.tatashin, rppt, graf, pratyush, linux-kernel, kexec,
	linux-mm

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.

Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
---
 kernel/liveupdate/kexec_handover.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/liveupdate/kexec_handover.c b/kernel/liveupdate/kexec_handover.c
index b54ca665e005..568cd9fe9aca 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;
+static bool kho_enable __ro_after_init = true;
 
 bool kho_is_enabled(void)
 {

base-commit: ab40c92c74c6b0c611c89516794502b3a3173966
-- 
2.51.2.1041.gc1ab5b90ca-goog



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] liveupdate: kho: Enable KHO by default
  2025-11-10 18:07 [PATCH] liveupdate: kho: Enable KHO by default Pasha Tatashin
@ 2025-11-10 18:34 ` Mike Rapoport
  2025-11-11 13:03   ` Pratyush Yadav
  2025-11-14  7:30 ` Mike Rapoport
  1 sibling, 1 reply; 7+ messages in thread
From: Mike Rapoport @ 2025-11-10 18:34 UTC (permalink / raw)
  To: Pasha Tatashin; +Cc: akpm, graf, pratyush, linux-kernel, kexec, linux-mm

On Mon, Nov 10, 2025 at 01:07:15PM -0500, Pasha Tatashin wrote:
>
> Subject: [PATCH] liveupdate: kho: Enable KHO by default

No need to put a directory (liveupdate) prefix here. "kho: " is enough.

With that fixed

Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

> 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.
> 
> Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
> ---
>  kernel/liveupdate/kexec_handover.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/liveupdate/kexec_handover.c b/kernel/liveupdate/kexec_handover.c
> index b54ca665e005..568cd9fe9aca 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;
> +static bool kho_enable __ro_after_init = true;
>  
>  bool kho_is_enabled(void)
>  {
> 
> base-commit: ab40c92c74c6b0c611c89516794502b3a3173966
> -- 
> 2.51.2.1041.gc1ab5b90ca-goog
> 

-- 
Sincerely yours,
Mike.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] liveupdate: kho: Enable KHO by default
  2025-11-10 18:34 ` Mike Rapoport
@ 2025-11-11 13:03   ` Pratyush Yadav
  0 siblings, 0 replies; 7+ messages in thread
From: Pratyush Yadav @ 2025-11-11 13:03 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Pasha Tatashin, akpm, graf, pratyush, linux-kernel, kexec,
	linux-mm

On Mon, Nov 10 2025, Mike Rapoport wrote:

> On Mon, Nov 10, 2025 at 01:07:15PM -0500, Pasha Tatashin wrote:
>>
>> Subject: [PATCH] liveupdate: kho: Enable KHO by default
>
> No need to put a directory (liveupdate) prefix here. "kho: " is enough.

+1

>
> With that fixed
>
> Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

Reviewed-by: Pratyush Yadav <pratyush@kernel.org>

>
>> 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.
>> 
>> Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
>> ---
>>  kernel/liveupdate/kexec_handover.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/kernel/liveupdate/kexec_handover.c b/kernel/liveupdate/kexec_handover.c
>> index b54ca665e005..568cd9fe9aca 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;
>> +static bool kho_enable __ro_after_init = true;
>>  
>>  bool kho_is_enabled(void)
>>  {
>> 
>> base-commit: ab40c92c74c6b0c611c89516794502b3a3173966
>> -- 
>> 2.51.2.1041.gc1ab5b90ca-goog
>> 

-- 
Regards,
Pratyush Yadav


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] liveupdate: kho: Enable KHO by default
  2025-11-10 18:07 [PATCH] liveupdate: kho: Enable KHO by default Pasha Tatashin
  2025-11-10 18:34 ` Mike Rapoport
@ 2025-11-14  7:30 ` Mike Rapoport
  2025-11-14  9:01   ` Alexander Graf
  2025-11-14 14:13   ` Pasha Tatashin
  1 sibling, 2 replies; 7+ messages in thread
From: Mike Rapoport @ 2025-11-14  7:30 UTC (permalink / raw)
  To: Pasha Tatashin; +Cc: akpm, graf, pratyush, linux-kernel, kexec, linux-mm

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)

From 823299d80aa4f7c16ef6cfd798a19e1dfe1a91ab Mon Sep 17 00:00:00 2001
From: Pasha Tatashin <pasha.tatashin@soleen.com>
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 <pasha.tatashin@soleen.com>
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
---
 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.


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] liveupdate: kho: Enable KHO by default
  2025-11-14  7:30 ` Mike Rapoport
@ 2025-11-14  9:01   ` Alexander Graf
  2025-11-14 14:13   ` Pasha Tatashin
  1 sibling, 0 replies; 7+ messages in thread
From: Alexander Graf @ 2025-11-14  9:01 UTC (permalink / raw)
  To: Mike Rapoport, Pasha Tatashin
  Cc: akpm, pratyush, linux-kernel, kexec, linux-mm


On 14.11.25 08:30, Mike Rapoport 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)
>
>  From 823299d80aa4f7c16ef6cfd798a19e1dfe1a91ab Mon Sep 17 00:00:00 2001
> From: Pasha Tatashin <pasha.tatashin@soleen.com>
> 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.


Looks much better, yes :). You can also imply this option automatically 
when LUO=y.

Reviewed-by: Alexander Graf <graf@amazon.com>


Alex


>
> Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> ---
>   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.



Amazon Web Services Development Center Germany GmbH
Tamara-Danz-Str. 13
10243 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Christof Hellmis
Eingetragen am Amtsgericht Charlottenburg unter HRB 257764 B
Sitz: Berlin
Ust-ID: DE 365 538 597

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] liveupdate: kho: Enable KHO by default
  2025-11-14  7:30 ` Mike Rapoport
  2025-11-14  9:01   ` Alexander Graf
@ 2025-11-14 14:13   ` Pasha Tatashin
  2025-11-15  9:42     ` Mike Rapoport
  1 sibling, 1 reply; 7+ messages in thread
From: Pasha Tatashin @ 2025-11-14 14:13 UTC (permalink / raw)
  To: Mike Rapoport; +Cc: akpm, graf, pratyush, linux-kernel, kexec, linux-mm

On Fri, Nov 14, 2025 at 2:30 AM Mike Rapoport <rppt@kernel.org> 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 <pasha.tatashin@soleen.com>
> 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 <pasha.tatashin@soleen.com>
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> ---
>  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.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] liveupdate: kho: Enable KHO by default
  2025-11-14 14:13   ` Pasha Tatashin
@ 2025-11-15  9:42     ` Mike Rapoport
  0 siblings, 0 replies; 7+ messages in thread
From: Mike Rapoport @ 2025-11-15  9:42 UTC (permalink / raw)
  To: Pasha Tatashin; +Cc: akpm, graf, pratyush, linux-kernel, kexec, linux-mm

On Fri, Nov 14, 2025 at 09:13:01AM -0500, Pasha Tatashin wrote:
> On Fri, Nov 14, 2025 at 2:30 AM Mike Rapoport <rppt@kernel.org> 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

Please add Alex's Reviewed-by as well.

-- 
Sincerely yours,
Mike.


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-11-15  9:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-10 18:07 [PATCH] liveupdate: kho: Enable KHO by default Pasha Tatashin
2025-11-10 18:34 ` Mike Rapoport
2025-11-11 13:03   ` Pratyush Yadav
2025-11-14  7:30 ` Mike Rapoport
2025-11-14  9:01   ` Alexander Graf
2025-11-14 14:13   ` Pasha Tatashin
2025-11-15  9:42     ` Mike Rapoport

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).