[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200705312117.48690.lenb@kernel.org>
Date: Thu, 31 May 2007 21:17:48 -0400
From: Len Brown <lenb@...nel.org>
To: Adam Belay <abelay@...ell.com>
Cc: Len Brown <len.brown@...el.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...l.org>,
Shaohua Li <shaohua.li@...el.com>, Pallipadi@...r.kernel.org,
Venkatesh <venkatesh.pallipadi@...el.com>,
linux-acpi@...r.kernel.org
Subject: Re: [RFC][PATCH 0/3] A Dynticks Aware Processor Idle PM Governor
Applied this series to acpi-test
in anticipation that Venki is about to send some incremental
patches to address the feedback on it.
thanks,
-Len
On Saturday 24 March 2007 03:46, Adam Belay wrote:
> Hi All,
>
> Here is my first take at implementing an idle PM governor that takes
> full advantage of NO_HZ. I call it the 'menu' governor because it
> considers the full list of idle states before each entry.
>
> I've kept the implementation fairly simple. It attempts to guess the
> next residency time and then chooses a state that would meet at least
> the break-even point between power savings and entry cost. To this end,
> it selects the deepest idle state that satisfies the following
> constraints:
> 1. If the idle time elapsed since bus master activity was detected
> is below a threshold (currently 20 ms), then limit the selection
> to C2-type or above.
> 2. Do not choose a state with a break-even residency that exceeds
> the expected time remaining until the next timer interrupt.
> 3. Do not choose a state with a break-even residency that exceeds
> the elapsed time between the last pair of break events,
> excluding timer interrupts.
>
> This governor has an advantage over "ladder" governor because it
> proactively checks how much time remains until the next timer interrupt
> using the tick infrastructure. Also, it handles device interrupt
> activity more intelligently by not including timer interrupts in break
> event calculations. Finally, it doesn't make policy decisions using the
> number of state entries, which can have variable residency times (NO_HZ
> makes these potentially very large), and instead only considers sleep
> time deltas.
>
> The menu governor can be selected during runtime using the cpuidle sysfs
> interface like so:
> "echo "menu" > /sys/devices/system/cpu/cpuidle/current_governor"
>
> This patchset applies against 2.6.21-rc4 plus the latest from the acpi
> testing tree, which is available here:
> ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/test/2.6.21/acpi-test-20070126-2.6.21-rc4.diff.bz2
>
> I'd really appreciate any comments, benchmarks, or suggestions.
>
> Cheers,
> Adam
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists