CPU hotplug /sys entries are missing on 2.6.28
Giuliano Pochini
pochini at shiny.it
Thu Feb 19 08:18:21 EST 2009
/sys/devices/system/cpu/cpu*/online don't exist anymore.
When the kernel is booted with maxcpus=1 /sys/devices/system/cpu/cpu1 is
also missing:
$ ls -la /sys/devices/system/cpu/
totale 0
drwxr-xr-x 3 root root 0 9 feb 23:15 .
drwxr-xr-x 7 root root 0 9 feb 23:15 ..
drwxr-xr-x 4 root root 0 9 feb 23:15 cpu0
-r--r--r-- 1 root root 4096 9 feb 23:15 online
-r--r--r-- 1 root root 4096 9 feb 23:15 possible
-r--r--r-- 1 root root 4096 9 feb 23:15 present
$ cat /sys/devices/system/cpu/online
0
$ cat /sys/devices/system/cpu/possible
0-1
$ cat /sys/devices/system/cpu/present
0-1
$ uname -a
Linux Jay 2.6.28 #1 SMP Sun Jan 11 22:42:31 CET 2009 ppc 7455, altivec supported PowerMac3,6 GNU/Linux
Looking at the 2.6.28 diff, i noticed there is a patch to
setup_32.c::ppc_init() that removes the following:
for_each_possible_cpu(cpu) {
struct cpu *c = &per_cpu(cpu_devices, cpu);
c->hotpluggable = 1;
register_cpu(c, cpu);
}
Reverting it makes the kernel hang at boot.
The only other place where ->hotpluggable is set is in
sysfs.c::topology_init(), but it only happens if ppc_md.cpu_die!=NULL and I
couldn't find where that pointer is set. Any clue ?
TIA,
--
Giuliano.
More information about the Linuxppc-dev
mailing list