RE: Method execution failed
From: Alex Williamson <hidden>
Date: 2004-08-06 17:27:18
On Fri, 2004-08-06 at 10:07 -0700, Moore, Robert wrote:
This is a bug in the ASL/AML for this machine. Methods that are declared "NotSerialized" are forbidden from creating objects within the namespace (or at least forbidden from creating names that will clash).
Argh, I'll bug our firmware guys it that's the problem.
There is a fix to the ACPI code that detects this problem and changes "NotSerialized" to "Serialized" on the fly. There is also a runtime option to force all control methods to be "Serialized".
I tried adding acpi_serialize to my boot options, I see "ACPI: serialize enabled" in dmesg. However, it still breaks when calling methods concurrently. Looks like acpi_ut_init_globals() is likely reseting later on. How do I enable the on-the-fly checking? Thanks for the quick response! Alex
quoted
-----Original Message----- From: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org [mailto:acpi-devel- admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] On Behalf Of Alex Williamson Sent: Friday, August 06, 2004 9:48 AM To: acpi-devel Subject: [ACPI] Method execution failed I think there's a locking issue w/ namespace for concurrent callstoquoted
acpi_evaluate_object(). FWIW, these concurrent calls are coming in through my acpi sysfs patch, so it could be a bug in that code. If I serialize calls into acpi_evaluate_object(), it works fine, but Idon'tquoted
see a global lock for this, so I think the problem is more general.Ifquoted
I make lots of calls to evaluate the same _BBN object, I start seeing these: ACPI-0279: *** Error: Looking up [LBAS] in namespace,AE_ALREADY_EXISTSquoted
ACPI-1133: *** Error: Method execution failed [\LBA_.BBN_] (Node e00000407fd This starts at acpi_ds_load1_begin_op() doing a path lookup,presumablyquoted
expecting not to find the path with flag ACPI_NS_ERROR_IF_FOUND. The AML for the method is: 0000000: a45c 2e4c 4241 5f42 424e 5f5e 5f55 4944 .\.LBA_BBN_^_UID The first part of the _SB/LBA/BBN_ AML looks like this: 0000000: 084c 4241 5311 030a 408a 4c42 4153 0056 .LBAS...@.LBAS.V 0000010: 414c 448a 4c42 4153 0a04 4c46 4c47 8a4c ALD.LBAS..LFLG.L ... The LBA/BBN_ method appears to make an object named LBAS. Whencallingquoted
this multiple times, each instance wants to not find this object and then create it. However, the namespace lock is given up around method execution, so it seems we have some races. Am I completely mis- interpreting the problem, or does this sound plausible? I don'treallyquoted
know how to read AML, so this is just a guess. Do we need to be more stringent on locking namespace, or is there a bug in the AML I'm calling? Thanks, Alex -- Alex Williamson HP Linux & Open Source Lab
-- Alex Williamson HP Linux & Open Source Lab ------------------------------------------------------- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com