powerpc: Check cpu_thread_in_subcore() in __cpu_up()
authorMichael Ellerman <mpe@ellerman.id.au>
Fri, 23 May 2014 08:15:28 +0000 (18:15 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 28 May 2014 03:35:36 +0000 (13:35 +1000)
commit6f5e40a3001d2497a134386a173e3ec3fdf2ad0b
tree13066084106667f6e2f16396566b5f61c138af41
parent5853aef1ac5c5d83076203e840ca463857a7515d
powerpc: Check cpu_thread_in_subcore() in __cpu_up()

To support split core we need to change the check in __cpu_up() that
determines if a cpu is allowed to come online.

Currently we refuse to online cpus which are not the primary thread
within their core.

On POWER8 with split core support this check needs to instead refuse to
online cpus which are not the primary thread within their *sub* core.

On POWER7 and other systems that do not support split core,
threads_per_subcore == threads_per_core and so the check is equivalent.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/smp.c