lkml.org 
[lkml]   [2006]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: [3/4] ACPI C-States: only demote on current bus mastering activity
Date
From
applied.
thanks,
-Len

>-----Original Message-----
>From: Dominik Brodowski [mailto:linux@dominikbrodowski.net]
>Sent: Monday, June 19, 2006 5:31 PM
>To: Thomas Gleixner; Brown, Len
>Cc: Con Kolivas; Ingo Molnar; LKML; Andrew Morton; john stultz
>Subject: [3/4] ACPI C-States: only demote on current bus
>mastering activity
>
>Only if bus master activity is going on at the present, we should
>avoid entering C3-type sleep, as it might be a faulty
>transition. As long
>as the bm_activity bitmask was based on the number of calls to the ACPI
>idle function, looking at previous moments made sense. Now,
>with it being
>based on what happened this jiffy, looking at this jiffy should be
>sufficient.
>
>Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
>
> drivers/acpi/processor_idle.c | 7 ++++---
> 1 files changed, 4 insertions(+), 3 deletions(-)
>
>Index: linux-2.6.16-rc5-dt/drivers/acpi/processor_idle.c
>===================================================================
>--- linux-2.6.16-rc5-dt.orig/drivers/acpi/processor_idle.c
>2006-02-27 20:32:58.000000000 +1100
>+++ linux-2.6.16-rc5-dt/drivers/acpi/processor_idle.c
>2006-02-27 20:32:59.000000000 +1100
>@@ -287,10 +287,10 @@ static void acpi_processor_idle(void)
> pr->power.bm_check_timestamp = jiffies;
>
> /*
>- * Apply bus mastering demotion policy.
>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
>- * funciton) but should upon the next.
>+ * function) but should upon the next.
> *
> * TBD: A better policy might be to fallback to
>the demotion
> * state (use it for this quantum only) istead of
>@@ -298,7 +298,8 @@ static void acpi_processor_idle(void)
> * qualification. This may, however, introduce DMA
> * issues (e.g. floppy DMA transfer
>overrun/underrun).
> */
>- if (pr->power.bm_activity & cx->demotion.threshold.bm) {
>+ if ((pr->power.bm_activity & 0x1) &&
>+ cx->demotion.threshold.bm) {
> local_irq_enable();
> next_state = cx->demotion.state;
> goto end;
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-06-28 09:31    [from the cache]
©2003-2011 Jasper Spaans