s390/sysinfo,topology: fix cpu topology maximum nesting detection
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 4 Sep 2012 12:26:03 +0000 (14:26 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 26 Sep 2012 13:45:08 +0000 (15:45 +0200)
commitfade4dc49101e3b68fb375fd2b00d0ef1f31a36f
tree302bd25e0575ce0b0ad33e34378577ad506bb786
parent34cda99260247873df53ae00885fb0f426b149a5
s390/sysinfo,topology: fix cpu topology maximum nesting detection

The maximum nesting of the cpu topology is evaluated when /proc/sysinfo
is the first time read. This happens without a lock and a concurrent
reader on a different cpu can see and use an invalid intermediate value.
Besides the fact that this race is quite unlikely the worst thing that
could happen is that /proc/sysinfo would contain bogus information about
the machine's cpu topology.
Nevertheless this should be fixed. So move the detection code to the
early machine detection code and since now the value is early available
use it in the topology code as well.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/sysinfo.h
arch/s390/kernel/early.c
arch/s390/kernel/sysinfo.c
arch/s390/kernel/topology.c