From: Dominik B. <li...@do...> - 2005-12-06 06:11:52
|
Hi, Please merge this patch also into your dyntick patchset. Upon further refleciton, we shouldn't be _this_ aggressive to enter C3-type sleep if there was bus mastering activity this jiffy. Signed-off-by: Dominik Brodowski <li...@do...> Index: working-tree/drivers/acpi/processor_idle.c =================================================================== --- working-tree.orig/drivers/acpi/processor_idle.c +++ working-tree/drivers/acpi/processor_idle.c @@ -260,7 +260,7 @@ static void acpi_processor_idle(void) pr->power.bm_check_timestamp = jiffies; /* - * If bus mastering is active, automatically demote + * If bus mastering is or was active this jiffy, demote * to avoid a faulty transition. Note that the processor * won't enter a low-power state during this call (to this * function) but should upon the next. @@ -271,7 +271,8 @@ static void acpi_processor_idle(void) * qualification. This may, however, introduce DMA * issues (e.g. floppy DMA transfer overrun/underrun). */ - if (bm_status && cx->demotion.threshold.bm) { + if ((pr->power.bm_activity & 0x01) && + cx->demotion.threshold.bm) { local_irq_enable(); next_state = cx->demotion.state; if (dyn_tick_enabled()) |