Horrible ordeals with ACPI, APIC and HIGHMEM (2.6.0-test* and -ac kernels)
Hello all,
First off, sorry for not being subscribed to the list (my mail provider would kill me), so please CC answers. I will of course check the archives. I've tried to search and ask elsewhere... LKML is my last resort! Any help at all would be greatly appreciated!
Hardware: Evesham Voyager Xi (which is really a Mitac M3000N); 1.6GHz Centrino with 1GB RAM. ACPI, all the RAM and everything else works fine in Windows XP, and it's brand new, so I doubt there are any hardware problems. BIOS is by AMI and claims to be v02.33, from March 2003, no update available from OEM. Standard intel chipset with onboard sound (i8x0) and 855 graphics.I'm trying to do a fresh install of Gentoo.
I've been trying the 2.6.0-test kernels, mostly for the speedstep support (which appears to work). However, when I put ACPI in the kernel, all goes wrong. Without ACPI, half my hardware is left IRQ-less. These are the symptoms:
1. ACPI enabled + Local APIC disabled: System boots fine, but as soon as ACPI goes on, the fan starts blowing full speed. When I try to log in performance is very sluggish. Top shows a process "events/0" (what is this?) that is eating 99.9% of my CPU (is this why the fan comes on?). Constant disk access (probably swap, but it did continue after I did "swapoff -a").
2. ACPI + APIC + APIC-IO enabled, HIGHMEM disabled: System freezes on boot immediately after loading ACPI subsystem.
3. Same as 2 + HIGHMEM (4GB) enabled: System reboots immediately after loading ACPI subsystem.
4. Same as 1 (no HIGHMEM) but with "acpi=off" on command line: System boots and runs fine. Obviously no battery monitor, but I can live without. However, a lot of my hardware (particularly the sound card, but I think maybe also the graphics) try to get assigned to IRQ 0 and fail, so they do not get configured. BIOS appears to regulate fan.
Also, in any configuration, if HIGHMEM is enabled and I pass acpi=off to get the system to boot, performance is absolutely appalling - it takes about 10 minutes to get to the login prompt! I can't see anything obviously wrong (speedfreq and uname -a detect all 1600MHz, top shows no obviously astray processes, although top itself is taking about 10-15% CPU just by being there).
Apart from complaints about IRQ 0 for various devices, I see nothing obviously wrong in dmesg or anywhere else.
Please don't condemn me to a life of Windows XP! I'm willing to live without ACPI if I could get my soundcard and other hardware (I can't see what it is, all I get are the id numbers) to work; I could also live with the ~800Mb or RAM left if HIGHMEM is off, but it's just annoying not to use those last ~200Mb.
Main question, I guess - what is events/0 and why is it bent on screwing up my life?
Best wishes,
Martin
Signature · 1 line
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Quoted 4 lines · * Martin Aspeli ([email protected]) wrote:
I've been trying the 2.6.0-test kernels, mostly for the speedstep support (which appears to work). However, when I put ACPI in the kernel, all goes wrong. Without ACPI, half my hardware is left IRQ-less. These are the symptoms:
Which 2.6.0-test kernels? Have you tried 2.6.0-test7? A fix for this type of problem went into -test7.
thanks,
-chris
Signature · 1 line
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net
Quoted 2 lines · Chris Wright
Which 2.6.0-test kernels? Have you tried 2.6.0-test7? A fix for this type of problem went into -test7.
Sadly, yes. My most recent and most comprehensive tests (today) were with the -test7 kernel. Could you give me some details as to what the fix is supposed to do and why it may not work?
Also, I'd still be interested to know - what is "events/0"? And why do things run like a 286 when I enable HIGHMEM?
I eye some hope here. Must say a life without linux is pretty empty (especially after my girlfriend left... you gotta reach for something; and a new guitar is a little off budget still). :-)
Martin
Signature · 1 line
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Quoted 8 lines · * Martin Aspeli ([email protected]) wrote:
Quoted 2 lines · Chris Wright
Which 2.6.0-test kernels? Have you tried 2.6.0-test7? A fix for this type of problem went into -test7.
Sadly, yes. My most recent and most comprehensive tests (today) were with the -test7 kernel. Could you give me some details as to what the fix is supposed to do and why it may not work?
fixes acpi pci link allocation which could pick a bad irq causing an interrupt storm. typical symptom was hang on boot.
If you see:
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 6 7 10 *11 12)
...
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 6
where the link is not enabled at the current setting (11 in this case, marked by *), you might experience this kind of hang.
Quoted 1 line
Also, I'd still be interested to know - what is "events/0"?
events/0 is a kernel thread (keventd) used for scheduling work into process context. acpi uses keventd for handling acpi events, for example, so runaway apci events will cause events/0 to chew up cpu.
Quoted 2 lines
And why do
things run like a 286 when I enable HIGHMEM?
I don't know, it shouldn't.
thanks,
-chris
Signature · 1 line
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net
Quoted 2 lines
fixes acpi pci link allocation which could pick a bad irq causing an interrupt storm. typical symptom was hang on boot.
Well, the hang only occurs when Local APIC was enabled. If Local APIC is taken out of the kernel, it boots, but events/0 starts eating my entire CPU and the fan is constantly on. I can't tell whether this is because events/0 is eating my CPU and hence it's running hot, or if it's (partially) unrelated.
I'm still a little lost as to what Local APIC does (apart from being an interrupt controller) or how it's related to ACPI (apart from obvious puns), or indeed whether or not my Penium-M has one.
You say stray ACPI events could cause keventd to chew CPU. It does seem likely. What would cause a runaway ACPI event? How would I stop one (apart from acpi=off, of course, which leaves me IRQ less).
Conversely, I suppose - is it possible to give IRQs to my sound card and the four or five other unidentified pieces of hardware that get no IRQ at boot, manually even? I'm a little worried this may leave me fan-less, although the BIOS seems to be turning the fan on sometimes if I boot with acpi=off.
Quoted 2 lines
Quoted 1 line
And why do things run like a 286 when I enable HIGHMEM?
I don't know, it shouldn't.
I most whole-heartedly agree!
Thank you for all your help!
Martin
Signature · 1 line
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/