Re: [PATCH] ACPI: don't walk tables if ACPI was disabled

From: Ingo Molnar
Date: Fri Jun 20 2008 - 10:23:01 EST



* Vegard Nossum <vegard.nossum@xxxxxxxxx> wrote:

> Hi Ingo,
>
> Can you see if this patch solves your problem? There might be other
> functions that needs this guard as well, though. I wonder if maybe
> this test should just be included at the top of every driver that uses
> ACPI in some way. But I'm pretty sure that this lack of initialization
> is the root of your problem in any case :-)

applied this to tip/out-of-tree for more testing, thanks Vegard.

> (By the way, I don't know why this problem popped up at this time,
> maybe it was just bad timing/bad luck... How far back do your
> AE_BAD_PARAMETER in the logs go?)

i have hit this warning for the first time in January 2008:

[ 0.000000] Linux version 2.6.24-rc8 (mingo@dione) (gcc version 4.2.2)
#452 SMP Sun Jan 20 23:36:28 CET 2008

and it says:

[ 0.000000] Calling initcall 0xc050758a: acpi_rtc_init+0x0/0xb8()
[ 0.000000] ACPI Exception (utmutex-0263): AE_BAD_PARAMETER,
Thread F7C22000 could not acquire Mutex [3] [20070126]
[ 0.000000] initcall 0xc050758a: acpi_rtc_init+0x0/0xb8() returned 0.

the logs of my auto-tests on this box start at more than a year ago:

Linux version 2.6.21-rc6 (mingo@dione) (gcc version 4.0.2)
#331 SMP Fri Apr 13 10:14:12 CEST 2007

the size of the logs is 16.2 GB, covering the bootup of 58605 uniquely
built kernels performing 67065 bootups - so it's a fairly exhaustive
history.

that's why WARN_ON()s are so important - there's no way my automated
tools (or even i, when taking a casual look at the logs) could have
picked up that new ACPI Exception - if each subsystem has different
warnings (which change frequently) then it's sheer impossible to
automate the answer to the "does that log show any anomaly" question.

( Even delta analysis would be of little use, due to timing related
noise, random data variances and the impact of randconfig booting. )

The only reason i noticed it because this problem escallated into a lock
corruption which triggered a WARN_ON().

Ingo
--
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/