[S390] smp: __smp_call_function_map vs cpu_online_map fix.
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 15 May 2008 14:52:38 +0000 (16:52 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 15 May 2008 14:52:40 +0000 (16:52 +0200)
commit85cb185dad54be308c3f3a6068dd7d418b8b53e4
tree30d0b873cd527edc8530c4cd583ddc05a6dbe13f
parentf455adcff102851629d716815f92bb7010de0c4e
[S390] smp: __smp_call_function_map vs cpu_online_map fix.

Both smp_call_function() and __smp_call_function_map() access
cpu_online_map. Both functions run with preemption disabled which
protects for cpus going offline. However new cpus can be added and
therefore the cpu_online_map can change unexpectedly.
So use the call_lock to protect against changes to the cpu_online_map
in start_secondary() and all smp_call_* functions.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/smp.c