Bugzilla – Bug 154964
apic=verbose/debug enables local apic
Last modified: 2006-03-09 13:40:51 UTC
Dell D600 locks up hard on lid switch events. Pressing the lid switch on my Dell D600 locks up the machine. Sometimes it locks up on the first lid switch event, somtimes it takes a couple more (max. ~10). SysReq does not work. It occurs with init=/bin/bash, too. No modules loaded. Maybe this helps a little: it is an regression: * The system does not hang with with 2.6.16-rc3-git3-2-default * The bug occurs when using 2.6.16-rc5-git2-2-default (Beta6 kernel) Thomas, did we have any ACPI changes which could be responsible? Danny, could you please try whether your system (similar model of the D600 series) is affected aswell?
Andi, booting with 'noapic' helps.
Sorry, false alarm. After pressing the lid switch button for another few times the system crashed again.
Just because it affects your laptop doesn't mean it's a blocker. I don't know what could have caused it. How about you do a binary search using kerneltest kernel to narrow down the breaking point better?
It's not my laptop. It's one widely used in our company, that's why it is a blocker. As I am not into this stupid severity game feel free to mark it as enhancement. I could not care less.
Reassigning to Thomas Renninger, as it seems to be an ACPI issue. Please provide hwinfo for this machine.
Created attachment 71155 [details] hwinfo for Dell Latitude D600
Booting with 'ec_intr=0' does not help. Other ACPI events (power button, AC adapter) do not affect the system.
2.6.16-rc5-git5-20060302183043-default is affected, too. Did we have any non-upstream changes for the ACPI code? The upstream changes do not look suspicious to me. Andi Kleen [PATCH] x86_64: Better ATI timer fix Andi Kleen [PATCH] x86_64: Disable ACPI blacklist by year for now on x86-64 Andi Kleen [PATCH] x86-64/i386: Use common X86_PM_TIMER option and make it EMBEDDED Pavel Machek [PATCH] suspend-to-ram: allow video options to be set at runtime Bjorn Helgaas [PATCH] ACPI: fix vendor resource length computation Bjorn Helgaas [PATCH] HPET: handle multiple ACPI EXTENDED_IRQ resources Danny, any news at your front?
Yes, the same here with a DELL C640 and the Beta 6 kernel
And jet here an other one: DELL Inspiron 8200
OK, thanks for the info. Adjusting summary.
nolapic helps. No idea whether it is a hidden ACPI bug that got revealed with enabling local apic or whether these machines just don't work with it... Andi, this got activated in the latest kernel by setting apic per default on i386 UP systems? Do you think it's worth digging trying to fix ACPI/lapic code or do you think it's just broken hardware? At least some events/interrupts seem to be correctly processed. Hmm, even it claims to enable APIC, ACPI interrupt routing is still done over PIC... This machine has a serial console, I try to get something out of it. Will play with this one a bit more...
As an easy solution we could blacklist it to disable the local APIC. Attach dmidecode output for that. Better would be to find where the problem is and fix APIC on Can you attach acpidmp etc? Len, could you please have someone look at this then?
Adding Luming who does the EC/interrupt ACPI stuff... Luming any ideas on that or have you already seen something similar?
Created attachment 71176 [details] acpidmp, acpidump and DSDT for Dell D600
Created attachment 71197 [details] dmidecode for Dell D600
it is not noapic but nolapic. Maybe we should search for similarities of the different dell machines that all seem to have the same problem. And maybe we have some dell contact that would be interested in this? Timo, could you try a vanilla kernel and if it has the same problem report on LKML/acpi-devel?
nolapic could be blacklisted too. The power of DMI. But if it's more than one type of laptop you would need to collect dmidecode from all of them and there might be always one missing. Better to look into the problem with APIC on.
I don't know if it is related, but I've got an Inspiron 2650 and I've had a /ton/ of problems with mysterious hangs with beta6. I have yet to complete and install, actually, and I don't have to do anything at all (no acpi events, etc...). At one point I came back and the laptop was froze, took no keyboard input, etc.. and had to power cycle it. When it came back up it was VERY hot and in fact complained of thermal sensor issues. A second reboot made it all better (but still did not complete the install - I'm on try #4 now). This is a machine that has run 9.0 through 10.0 in a rock solid fashion. I'll try to provide whatever information I can. I'll also try install #4 with acpi off and with noapic.
I forgot to mention that this is a Mobile Celeron at 1.6GHz and is NOT a 64 bit CPU.
Just try nolapic
I got a successful install with acpi off and noapic. I'll try again with just nolapic.
Best you add dmidecode output in case we chose to go the blacklist route.
Is there a possible relationship between this and bug 154709 ?
Ah I see what the problem is. Thanks to Len for hitting me with the cluehammer. The automatic APIC enable code was too aggressive and forced the apic, which would overwrite the BIOS setting. Bad thing.
Yes, I also saw it... Just didn't come to it yesterday. To be honest it's rather obvious if you have dmesg in front of your eyes...: "Local APIC disabled by BIOS -- reenabling." Ahh, you already fixed it? That's exactly how I just wanted to modify it ... inverting the dmi_enable_apic() assignement to disable if it's too old instead of forcing it to be enabled if it's newer (overriding the BIOS "no apic" flag). Tested ... ohh does not work ... ahh the apic=debug clashes with the apic option reenabling local apic. Andi can we just delete the apic boot option? Tested again ... Works ... Thanks.
Ah i fixed these command line parsing bugs for x86-64, but not for 32bit. apic is still needed for the old machines. But I can fix it.
Thanks Andi!
Command line parsing for apic option fixed. A couple of other options have the same problem, but i won't fix that for CODE10
DELL D600 works fine with Beta 7.
*** Bug 156115 has been marked as a duplicate of this bug. ***