On Fri, Nov 09, 2012 at 10:30:43PM +0800, Moore, Robert wrote:The ACPI Global Lock is in fact intended to provide exclusion between the BIOS and the OS.
Bob
Thanks for the info.
And per my check, most of ACPI FW don't implement this lock, say
after driver probe, the ec->global_lock will be 0.
- Feng
--
-----Original Message-----
From: Tang, Feng
Sent: Friday, November 09, 2012 1:29 AM
To: Rafael J. Wysocki
Cc: Greg KH; Azat Khuzhin; linux-acpi@xxxxxxxxxxxxxxx; Linux Kernel
Mailing List; Zheng, Lv; Len Brown; Moore, Robert
Subject: Re: ACPI errors with 3.7-rc3
On Thu, Nov 08, 2012 at 05:49:40AM +0800, Rafael J. Wysocki wrote:On Tuesday, November 06, 2012 01:48:26 PM Greg KH wrote:On Tue, Nov 06, 2012 at 04:42:24PM +0400, Azat Khuzhin wrote:I'v also have such errors on my macbook pro.
$ dmesg | tail
[17056.008564] ACPI Error: Method parse/execution failed
[\_SB_.PCI0.LPCB.EC__.SMB0.SBRW] (Node ffff88026547ea10), AE_TIME
(20120711/psparse-536)
[17056.011194] ACPI Error: Method parse/execution failed
[\_SB_.BAT0.UBST] (Node ffff88026547e678), AE_TIME
(20120711/psparse-536)
[17056.013793] ACPI Error: Method parse/execution failed
[\_SB_.BAT0._BST] (Node ffff88026547e740), AE_TIME
(20120711/psparse-536)
[17056.016383] ACPI Exception: AE_TIME, Evaluating _BST
(20120711/battery-464) [17056.511373] ACPI: EC: input buffer is
not empty, aborting transaction [17056.512672] ACPI Exception:
AE_TIME, Returned by Handler for [EmbeddedControl]
(20120711/evregion-501) [17056.515256] ACPI Error: Method
parse/execution failed [\_SB_.PCI0.LPCB.EC__.SMB0.SBRW] (Node
ffff88026547ea10), AE_TIME
(20120711/psparse-536)
[17056.517886] ACPI Error: Method parse/execution failed
[\_SB_.BAT0.UBST] (Node ffff88026547e678), AE_TIME
(20120711/psparse-536)
[17056.520479] ACPI Error: Method parse/execution failed
[\_SB_.BAT0._BST] (Node ffff88026547e740), AE_TIME
(20120711/psparse-536)
[17056.523070] ACPI Exception: AE_TIME, Evaluating _BST
(20120711/battery-464)
I'm seeing this again right now. I'm wondering if it's because I'm
running on battery power at the moment:
[41694.309264] ACPI Exception: AE_TIME, Returned by Handler for
[EmbeddedControl] (20120913/evregion-501) [41694.309282] ACPI Error:
Method parse/execution failed [\_SB_.PCI0.LPCB.EC__.SMB0.SBRW] (Node
ffff88045cc64618), AE_TIME (20120913/psparse-536) [41694.309300]
ACPI Error: Method parse/execution failed [\_SB_.BAT0.UBST] (Node
ffff88045cc64988), AE_TIME (20120913/psparse-536) [41694.309310]
ACPI Error: Method parse/execution failed [\_SB_.BAT0._BST] (Node
ffff88045cc648c0), AE_TIME (20120913/psparse-536) [41694.309324]
ACPI Exception: AE_TIME, Evaluating _BST (20120913/battery-464)
[41694.809093] ACPI: EC: input buffer is not empty, aborting
transaction
ec_storm_threshold is still set to 8 in /sys/module/acpi/parameters/
so that's not the issue here.
And also loadavg is too high ~ 10
While there is no process that load CPU up to 100% or like that.
I think that this because of processes that is done in kernel space.
(basically that one who write such errors)
$ uname -a
Linux macbook-pro-sq 3.6.5macbook-pro-custom-v0.1 #4 SMP Sun Nov 4
12:39:03 UTC 2012 x86_64 GNU/Linux
Ah, ok, that means it's not something new in 3.7-rc, so maybe it's
just never worked properly for this hardware :)
So it's not a regression, just an ACPI issue, any ACPI developer
have an idea about this?
Can you please send the output of acpidump from the affected machine(s)?
I doubt this problem is sometimes inevitable for some machines, because
AFAIK most modern machines have the race problem for EC HW controller, as
both OS side and the BIOS may access the EC HW at the same time
without any race control.
For this case, usually the battery and thermal modules (which may be
controlled through EC) are always monitored by BIOS, when OS also
frequently visit them too, the EC's own state machine may be broken and
not responsive due to the race, then cause the timeout error.
And how severe the problem will be depends on the EC HW, the quality of
BIOS code and OS/driver code.
Myself have seen the similar "ACPI: EC: input buffer is not empty,
aborting transaction" error message on one laptop when its EC is busy
visited by OS.
btw, in EC driver I see a "ec->global_lock", don't know if it was designed
to control the race between OS and BIOS.
Thanks,
Feng
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html