Re: [PATCH 08/22] mm/vmstat: Avoid on each online CPU loops
From: Michal Hocko
Date: Mon Nov 28 2016 - 04:28:10 EST
On Sun 27-11-16 00:13:36, Sebastian Andrzej Siewior wrote:
[...]
> static void __init init_cpu_node_state(void)
> {
> - int cpu;
> + int node;
>
> - for_each_online_cpu(cpu)
> - node_set_state(cpu_to_node(cpu), N_CPU);
> + for_each_online_node(node)
> + node_set_state(node, N_CPU);
Is this really correct? The point of the original code was to mark only
those nodes which have at least one CPU. Or am I missing something?
> }
>
> static void vmstat_cpu_dead(int node)
> {
> - int cpu;
> + const struct cpumask *node_cpus;
>
> - for_each_online_cpu(cpu)
> - if (cpu_to_node(cpu) == node)
> - return;
> + node_cpus = cpumask_of_node(node);
> + if (cpumask_weight(node_cpus) > 0)
> + return;
This looks OK
>
> node_clear_state(node, N_CPU);
> }
> --
> 2.10.2
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>
--
Michal Hocko
SUSE Labs