RE: Method execution failed

From: Moore, Robert <hidden>
Date: 2004-08-06 17:30:34

A later version of acpi fixed the init_globals issue, static init only
for the runtime options

-----Original Message-----
From: Alex Williamson [mailto:alex.williamson-VXdhtT5mjnY@public.gmane.org]
Sent: Friday, August 06, 2004 10:27 AM
To: Moore, Robert
Cc: acpi-devel
Subject: RE: [ACPI] Method execution failed

On Fri, 2004-08-06 at 10:07 -0700, Moore, Robert wrote:
quoted
This is a bug in the ASL/AML for this machine.  Methods that are
declared "NotSerialized" are forbidden from creating objects within
the
quoted
namespace (or at least forbidden from creating names that will
clash).
  Argh, I'll bug our firmware guys it that's the problem.
quoted
There is a fix to the ACPI code that detects this problem and
changes
quoted
"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
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
calls
quoted
to
quoted
acpi_evaluate_object().  FWIW, these concurrent calls are coming
in
quoted
quoted
through my acpi sysfs patch, so it could be a bug in that code.
If I
quoted
quoted
serialize calls into acpi_evaluate_object(), it works fine, but I
don't
quoted
see a global lock for this, so I think the problem is more
general.
quoted
If
quoted
I make lots of calls to evaluate the same _BBN object, I start
seeing
quoted
quoted
these:

ACPI-0279: *** Error: Looking up [LBAS] in namespace,
AE_ALREADY_EXISTS
quoted
ACPI-1133: *** Error: Method execution failed [\LBA_.BBN_] (Node
e00000407fd

This starts at acpi_ds_load1_begin_op() doing a path lookup,
presumably
quoted
expecting not to find the path with flag ACPI_NS_ERROR_IF_FOUND.
The
quoted
quoted
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.  When
calling
quoted
this multiple times, each instance wants to not find this object
and
quoted
quoted
then create it.  However, the namespace lock is given up around
method
quoted
quoted
execution, so it seems we have some races.  Am I completely mis-
interpreting the problem, or does this sound plausible?  I don't
really
quoted
know how to read AML, so this is just a guess.  Do we need to be
more
quoted
quoted
stringent on locking namespace, or is there a bug in the AML I'm
calling?  Thanks,

	Alex

--
Alex Williamson                             HP Linux & Open Source
Lab
quoted
--
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help