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

Laurent Dufour ldufour at linux.ibm.com
Tue Nov 9 21:27:42 AEDT 2021


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 at gmail.com>
> ---
> 
> This only matters when CONFIG_CPUMASK_OFFNODE=y, which has not been
> possible before on powerpc.

Thanks Nick,

Reviewed-by: Laurent Dufour <ldufour at linux.ibm.com>


> 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);
> 



More information about the Linuxppc-dev mailing list