possible_cpus broken in linux-next

From: Dave Hansen
Date: Wed May 29 2013 - 13:10:57 EST


If I boot with: maxcpus=2 possible_cpus=4, I get

# grep . /sys/devices/system/cpu/cpu[0-9]*/online'
/sys/devices/system/cpu/cpu1/online:1
/sys/devices/system/cpu/cpu2/online:1
/sys/devices/system/cpu/cpu3/online:1

on bad kernels, and this on working ones:

/sys/devices/system/cpu/cpu1/online:1
/sys/devices/system/cpu/cpu2/online:0
/sys/devices/system/cpu/cpu3/online:0


I also get -EINVAL if I try to re-offline them in this state. 2 and 3
don't show up in /proc/cpuinfo, so sysfs just looks broken here. This
happens in a KVM guest, so it should be dirt-simple for anyone to reproduce.

I bisected it down to:

> commit 0902a9044fa5b7a0456ea4daacec2c2b3189ba8c
> Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> Date: Fri May 3 00:25:49 2013 +0200
>
> Driver core: Use generic offline/online for CPU offline/online
>
> Rework the CPU hotplug code in drivers/base/cpu.c to use the
> generic offline/online support introduced previously instead of
> its own CPU-specific code.
>
> For this purpose, modify cpu_subsys to provide offline and online
> callbacks for CONFIG_HOTPLUG_CPU set and remove the code handling
> the CPU-specific 'online' sysfs attribute.
>
> This modification is not supposed to change the user-observable
> behavior of the kernel (i.e. the 'online' attribute will be present
> in exactly the same place in sysfs and should trigger exactly the
> same actions as before).
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Reviewed-by: Toshi Kani <toshi.kani@xxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/