arm64: topology: restrict updating siblings_masks to online cpus only
authorSudeep Holla <sudeep.holla@arm.com>
Fri, 6 Jul 2018 11:02:45 +0000 (12:02 +0100)
committerWill Deacon <will.deacon@arm.com>
Fri, 6 Jul 2018 12:18:18 +0000 (13:18 +0100)
commit5ec8b59172b4e8d26a12952ce3a2914b30128538
tree3bda23aa9095d91c148d4ec3406281dd798a195e
parent5bdd2b3f0f8830f281bb568e65df6eabf655dd0d
arm64: topology: restrict updating siblings_masks to online cpus only

It's incorrect to iterate over all the possible CPUs to update the
sibling masks when any CPU is hotplugged in. In case the topology
siblings masks of the CPU is removed when is it hotplugged out, we
end up updating those masks when one of it's sibling is powered up
again. This will provide inconsistent view.

Further, since the CPU calling update_sibling_masks is yet to be set
online, there's no need to compare itself with each online CPU when
updating the siblings masks.

This patch restricts updation of sibling masks only for CPUs that are
already online. It also the drops the unnecessary cpuid check.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Tested-by: Ganapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>
Tested-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/topology.c