[PATCH] powerpc/pseries: use slab context cpumask allocation in CPU hotplug init

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE1746d LANDED

Landed in mainline as 3b54c71537d7 on 2021-12-16.

5 messages, 5 authors, 2021-12-21 · open the first message on its own page

[PATCH] powerpc/pseries: use slab context cpumask allocation in CPU hotplug init

From: Nicholas Piggin <npiggin@gmail.com>
Date: 2021-11-05 13:30:39

Slab is up at this point, using the bootmem allocator triggers a
warning. Switch to using the regular cpumask allocator.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---

This only matters when CONFIG_CPUMASK_OFFNODE=y, which has not been
possible before on powerpc.

Thanks,
Nick

 arch/powerpc/platforms/pseries/hotplug-cpu.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index d646c22e94ab..78a70ba60d24 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -1016,12 +1016,13 @@ static int __init pseries_cpu_hotplug_init(void)
 	/* Processors can be added/removed only on LPAR */
 	if (firmware_has_feature(FW_FEATURE_LPAR)) {
 		for_each_node(node) {
-			alloc_bootmem_cpumask_var(&node_recorded_ids_map[node]);
+			if (!alloc_cpumask_var_node(&node_recorded_ids_map[node],
+						    GFP_KERNEL, node))
+				return -ENOMEM;
 
 			/* Record ids of CPU added at boot time */
-			cpumask_or(node_recorded_ids_map[node],
-				   node_recorded_ids_map[node],
-				   cpumask_of_node(node));
+			cpumask_copy(node_recorded_ids_map[node],
+				     cpumask_of_node(node));
 		}
 
 		of_reconfig_notifier_register(&pseries_smp_nb);
-- 
2.23.0

Re: [PATCH] powerpc/pseries: use slab context cpumask allocation in CPU hotplug init

From: Sachin Sant <hidden>
Date: 2021-11-07 09:00:05

On 05-Nov-2021, at 6:59 PM, Nicholas Piggin [off-list ref] wrote:

Slab is up at this point, using the bootmem allocator triggers a
warning. Switch to using the regular cpumask allocator.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
Fixes the warning for me. Thanks

Tested-by: Sachin Sant <redacted>
quoted hunk
This only matters when CONFIG_CPUMASK_OFFNODE=y, which has not been
possible before on powerpc.

Thanks,
Nick

arch/powerpc/platforms/pseries/hotplug-cpu.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index d646c22e94ab..78a70ba60d24 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -1016,12 +1016,13 @@ static int __init pseries_cpu_hotplug_init(void)
	/* Processors can be added/removed only on LPAR */
	if (firmware_has_feature(FW_FEATURE_LPAR)) {
		for_each_node(node) {
-			alloc_bootmem_cpumask_var(&node_recorded_ids_map[node]);
+			if (!alloc_cpumask_var_node(&node_recorded_ids_map[node],
+						    GFP_KERNEL, node))
+				return -ENOMEM;

			/* Record ids of CPU added at boot time */
-			cpumask_or(node_recorded_ids_map[node],
-				   node_recorded_ids_map[node],
-				   cpumask_of_node(node));
+			cpumask_copy(node_recorded_ids_map[node],
+				     cpumask_of_node(node));
		}

		of_reconfig_notifier_register(&pseries_smp_nb);
-- 
2.23.0

Re: [PATCH] powerpc/pseries: use slab context cpumask allocation in CPU hotplug init

From: Nathan Lynch <hidden>
Date: 2021-11-09 02:15:03

Nicholas Piggin [off-list ref] writes:
Slab is up at this point, using the bootmem allocator triggers a
warning. Switch to using the regular cpumask allocator.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Nathan Lynch <redacted>
quoted hunk
---

This only matters when CONFIG_CPUMASK_OFFNODE=y, which has not been
possible before on powerpc.

Thanks,
Nick

 arch/powerpc/platforms/pseries/hotplug-cpu.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index d646c22e94ab..78a70ba60d24 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -1016,12 +1016,13 @@ static int __init pseries_cpu_hotplug_init(void)
 	/* Processors can be added/removed only on LPAR */
 	if (firmware_has_feature(FW_FEATURE_LPAR)) {
 		for_each_node(node) {
-			alloc_bootmem_cpumask_var(&node_recorded_ids_map[node]);
+			if (!alloc_cpumask_var_node(&node_recorded_ids_map[node],
+						    GFP_KERNEL, node))
+				return -ENOMEM;
 
 			/* Record ids of CPU added at boot time */
-			cpumask_or(node_recorded_ids_map[node],
-				   node_recorded_ids_map[node],
-				   cpumask_of_node(node));
+			cpumask_copy(node_recorded_ids_map[node],
+				     cpumask_of_node(node));
 		}
 
 		of_reconfig_notifier_register(&pseries_smp_nb);

Re: [PATCH] powerpc/pseries: use slab context cpumask allocation in CPU hotplug init

From: Laurent Dufour <hidden>
Date: 2021-11-09 10:28:38

Le 05/11/2021 à 14:29, Nicholas Piggin a écrit :
Slab is up at this point, using the bootmem allocator triggers a
warning. Switch to using the regular cpumask allocator.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---

This only matters when CONFIG_CPUMASK_OFFNODE=y, which has not been
possible before on powerpc.
Thanks Nick,

Reviewed-by: Laurent Dufour <redacted>

quoted hunk
Thanks,
Nick

  arch/powerpc/platforms/pseries/hotplug-cpu.c | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index d646c22e94ab..78a70ba60d24 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -1016,12 +1016,13 @@ static int __init pseries_cpu_hotplug_init(void)
  	/* Processors can be added/removed only on LPAR */
  	if (firmware_has_feature(FW_FEATURE_LPAR)) {
  		for_each_node(node) {
-			alloc_bootmem_cpumask_var(&node_recorded_ids_map[node]);
+			if (!alloc_cpumask_var_node(&node_recorded_ids_map[node],
+						    GFP_KERNEL, node))
+				return -ENOMEM;
  
  			/* Record ids of CPU added at boot time */
-			cpumask_or(node_recorded_ids_map[node],
-				   node_recorded_ids_map[node],
-				   cpumask_of_node(node));
+			cpumask_copy(node_recorded_ids_map[node],
+				     cpumask_of_node(node));
  		}
  
  		of_reconfig_notifier_register(&pseries_smp_nb);

Re: [PATCH] powerpc/pseries: use slab context cpumask allocation in CPU hotplug init

From: Michael Ellerman <hidden>
Date: 2021-12-21 12:16:35

On Fri, 5 Nov 2021 23:29:23 +1000, Nicholas Piggin wrote:
Slab is up at this point, using the bootmem allocator triggers a
warning. Switch to using the regular cpumask allocator.
Applied to powerpc/next.

[1/1] powerpc/pseries: use slab context cpumask allocation in CPU hotplug init
      https://git.kernel.org/powerpc/c/3b54c71537d7beaaca8be9c57a81045e2b641655

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help