Module Name: src Committed By: jruoho Date: Thu Jul 29 22:42:58 UTC 2010
Modified Files: src/sys/dev/acpi: acpi_cpu.c acpi_cpu.h acpi_cpu_cstate.c Log Message: Add a per ACPI CPU mutex for C-states. Protect the _CST update with this: when the idle-information is being updated (e.g. due acpiacad(4) events), we can not enter the idle-loop. The lock must run at the same priority (IPL_NONE) as ACPICA's mutexes obtained via AcpiOsCreateMutex() a.k.a. AcpiOsCreateSemaphore(). Also check want_resched as the first thing and clarify the suspend/resume path. There is still one race condition identified: when the driver is loaded as a module, we must gracefully kick all CPUs out from the ACPI idle-loop upon detachment. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/dev/acpi/acpi_cpu.c cvs rdiff -u -r1.6 -r1.7 src/sys/dev/acpi/acpi_cpu.h cvs rdiff -u -r1.11 -r1.12 src/sys/dev/acpi/acpi_cpu_cstate.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.