On Mon, 2007-07-23 at 02:26 +0100, TJ wrote: > I'm currently debugging a weird issue where the PC appears to be > attempting to S3 suspend prematurely in acpi_enter_sleep_state(). I added further debug messages to acpi_enter_sleep_state() and found that the issue occurs when ACPI_FLUSH_CPU_CACHE() is called. The log shows: kernel: [ 251.532000] hwsleep-0285 [03] enter_sleep_state : Entering sleep state [S3] kernel: [ 251.532000] hwsleep-0308 [03] enter_sleep_state : Writing PM1A (SLP_TYP data) 1401 kernel: [ 251.532000] hwsleep-0319 [03] enter_sleep_state : Writing PM1B (SLP_TYP data) 1401 kernel: [ 251.532000] hwsleep-0326 [03] enter_sleep_state : Just written PM1B (SLP_TYP data). status=0x0 kernel: [ 251.532000] hwsleep-0343 [03] enter_sleep_state : About to flush CPU cache kernel: [ 251.532000] Back to C! The standard kernel build uses CONFIG_PARAVIRT so it appears that paravirt_ops.wbinvd() is used to handle the flush. I'm building a kernel without PARAVIRT now to see if it is the issue, but I'm still in the dark as to why this would happen. TJ. ---drivers/acpi/hardware/hwsleep.c::acpi_enter_sleep_state()---- /* Write #2: SLP_TYP + SLP_EN */ #ifdef DEBUG_RESUME ACPI_DEBUG_PRINT((ACPI_DB_INIT, "About to flush CPU cache\n")); #endif ACPI_FLUSH_CPU_CACHE(); #ifdef DEBUG_RESUME ACPI_DEBUG_PRINT((ACPI_DB_INIT, "Writing PM1A (SLP_TYP + SLP_EN) %x\n", PM1Acontrol)); #endif - 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