powerpc/smp: Optimize remove_cpu_from_masks
authorSrikar Dronamraju <srikar@linux.vnet.ibm.com>
Mon, 21 Sep 2020 09:56:46 +0000 (15:26 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 6 Oct 2020 12:22:26 +0000 (23:22 +1100)
commit70edd4a7c753ba18e3e4bb9e97b6d85156cea738
tree11c780d909f7301ee5c6af159f58ca19cecd154e
parente29e9ed665eeb6f98cd88672994ecf4aaefdb943
powerpc/smp: Optimize remove_cpu_from_masks

While offlining a CPU, system currently iterate through all the CPUs in
the DIE to clear sibling, l2_cache and smallcore maps. However if there
are more cores in a DIE, system can end up spending more time iterating
through CPUs which are completely unrelated.

Optimize this by only iterating through smaller but relevant cpumap.
If shared_cache is set, cpu_l2_cache_map should be relevant else
cpu_sibling_map would be relevant.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Tested-by: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200921095653.9701-5-srikar@linux.vnet.ibm.com
arch/powerpc/kernel/smp.c