On Wednesday 30 May 2007 01:37:40 am Alexey Starikovskiy wrote: > There is a "limited concurrency" in interpreter. > There is a "executor" semaphore(acpi_ex_{enter/exit}_interpreter), which > prevents generic concurrent execution of methods, but in the case of the > method blocking (mutex or sleep) it will be released and reacquired > after, thus allowing some other method to run during block. That's good information on the Intel CA implementation. Do we know what other implementations do? Is there language in the ACPI spec itself that precludes concurrent execution? How exactly is the "acpi_serialize" Linux option useful? If the ACPI_MTX_INTERPRETER mutex prevents concurrency already, what good is "acpi_serialize"? > Bjorn Helgaas ?????: > > Can AML methods be executed concurrently? > > > > The existence of mutexes, serialized methods, and the Linux > > "acpi_serialize" parameter makes me think that in general, we > > should be able to execute multiple AML methods concurrently. > > > > However, the ACPI CA Programmer Reference, rev 1.16, section 2.2.5, > > says: > > > > The specification states that at most one control method can be > > actually executing AML code at any given time. ... it can be > > said that the specification precludes the concurrent execution > > of control methods. > > > > It is referring to the ACPI specification, but I don't see any > > explicit statement there. I've been pointed to this text from > > ACPI 3.0, section 5.5.2: > > > > Interpretation of a Control Method is not preemptive, but it can > > block. When a control method does block, the operating software > > can initiate or continue the execution of a different control > > method. > > > > But this doesn't actually say anything about concurrency. > > > > If ACPI does in fact preclude concurrent method execution, can you > > point me to discussion of this in the ACPI spec? > > > > Bjorn - 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