ARC: [SMP] avoid overriding present cpumask
authorNoam Camus <noamca@mellanox.com>
Sun, 30 Oct 2016 07:48:42 +0000 (09:48 +0200)
committerVineet Gupta <vgupta@synopsys.com>
Tue, 1 Nov 2016 00:12:41 +0000 (17:12 -0700)
commit8f6d9eb2a3f38f1acd04efa0aeb8b81f5373c923
treeadf0f7a698653109101927ef4e6bdf0f457361e1
parent6227e9f0e9ee988e2cfb425b02ef17f233b1d8d7
ARC: [SMP] avoid overriding present cpumask

At smp_prepare_cpus() we set present cpu mask as part of init
for all CPUs at range [0-max_cpus].
This is done without checking if this mask is already being set.
At platform of eznps this mask is already being initialized at
smp_init_cpus() by using hook plat_smp_ops.init_early_smp().
So to avoid overriding of present cpu mask we check the number of
bits which are set in this mask. At the begin only bit for boot CPU
is set so if number of bits already set is no more than one we can be
assure that there is no overriding of this mask.

Signed-off-by: Noam Camus <noamca@mellanox.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/kernel/smp.c