lkml.org 
[lkml]   [2012]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: the maxcpus= boot parameter broke somewhere along the line
On 03/08/2012 12:44 AM, Jeff Moyer wrote:

> "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com> writes:
>
>> On 03/06/2012 11:38 PM, Jeff Moyer wrote:
>>
>>> Sasha Levin <levinsasha928@gmail.com> writes:
>>>
>>>> I can't reproduce it locally with a 3.3-rc5 kernel.
>>>
>>> First, thanks for looking into it. I just did a git pull, up to -rc6,
>>> and the problem still persists on my machine.
>>>
>>
>>
>> I tried 3.3-rc4 as well as 3.3-rc6+ (last commit dac12d1). I did not
>> see the problem in either case.
>
> I bisected the issue, and it landed here:
>
> 8a25a2fd126c621f44f3aeaef80d51f00fc11639 is the first bad commit
> commit 8a25a2fd126c621f44f3aeaef80d51f00fc11639
> Author: Kay Sievers <kay.sievers@vrfy.org>
> Date: Wed Dec 21 14:29:42 2011 -0800
>
> cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular
> subsystem
>
> Unfortunately, that's a HUGE commit.
>


This was from your dmesg:

sd 0:0:10:1: [sdk] Attached SCSI disk
readahead: starting
udev: starting version 147
SMP alternatives: switching to SMP code
WARNING! power/level is deprecated; use power/control instead
EDAC MC: Ver: 2.1.0
Booting Node 0 Processor 3 APIC 0x3
smpboot cpu 3: start_ip = 9a000
EDAC MC0: Giving out device to 'i3200_edac' 'i3200': DEV 0000:00:00.0
NMI watchdog enabled, takes one hw-pmu counter.
Booting Node 0 Processor 2 APIC 0x1
smpboot cpu 2: start_ip = 9a000
NMI watchdog enabled, takes one hw-pmu counter.
Booting Node 0 Processor 1 APIC 0x2
smpboot cpu 1: start_ip = 9a000
NMI watchdog enabled, takes one hw-pmu counter.


Looking at the mention of udev above, and considering the commit you bisected
to, I think it would be good to see whether someone is writing 1 to
/sys/device/system/cpu/cpu*/online and hence the cpus are getting hot-added
towards the end of boot. Maybe that sounds stupid, but worth a try :)

So can you try the debug patch below? It applies on latest linux-3.3-rc6+

---

drivers/base/cpu.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)


diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
index 4dabf50..49d5f83 100644
--- a/drivers/base/cpu.c
+++ b/drivers/base/cpu.c
@@ -43,11 +43,13 @@ static ssize_t __ref store_online(struct device *dev,
cpu_hotplug_driver_lock();
switch (buf[0]) {
case '0':
+ printk("CPU %d offline initated from userspace\n", cpu->dev.id);
ret = cpu_down(cpu->dev.id);
if (!ret)
kobject_uevent(&dev->kobj, KOBJ_OFFLINE);
break;
case '1':
+ printk("CPU %d online initated from userspace\n", cpu->dev.id);
ret = cpu_up(cpu->dev.id);
if (!ret)
kobject_uevent(&dev->kobj, KOBJ_ONLINE);


\
 
 \ /
  Last update: 2012-03-09 12:25    [W:0.587 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site