<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>2cffe9f6 - cpuidle: add haltpoll governor</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/cpuidle/governors/Makefile#2cffe9f6</link>
        <description>cpuidle: add haltpoll governorThe cpuidle_haltpoll governor, in conjunction with the haltpoll cpuidledriver, allows guest vcpus to poll for a specified amount of time beforehalting.This provides the following benefits to host side polling:        1) The POLL flag is set while polling is performed, which allows           a remote vCPU to avoid sending an IPI (and the associated           cost of handling the IPI) when performing a wakeup.        2) The VM-exit cost can be avoided.The downside of guest side polling is that polling is performedeven with other runnable tasks in the host.Results comparing halt_poll_ns and server/client applicationwhere a small packet is ping-ponged:host                                        --&gt; 31.33halt_poll_ns=300000 / no guest busy spin    --&gt; 33.40   (93.8%)halt_poll_ns=0 / guest_halt_poll_ns=300000  --&gt; 32.73   (95.7%)For the SAP HANA benchmarks (where idle_spin is a parameterof the previous version of the patch, results should be thesame):hpns == halt_poll_ns                          idle_spin=0/   idle_spin=800/    idle_spin=0/                          hpns=200000    hpns=0            hpns=800000DeleteC06T03 (100 thread) 1.76           1.71 (-3%)        1.78   (+1%)InsertC16T02 (100 thread) 2.14           2.07 (-3%)        2.18   (+1.8%)DeleteC00T01 (1 thread)   1.34           1.28 (-4.5%)      1.29   (-3.7%)UpdateC00T03 (1 thread)   4.72           4.18 (-12%)       4.53   (-5%)Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/cpuidle/governors/Makefile</description>
        <pubDate>Wed, 03 Jul 2019 23:51:28 +0000</pubDate>
        <dc:creator>Marcelo Tosatti &lt;mtosatti@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>ec8f24b7 - treewide: Add SPDX license identifier - Makefile/Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/cpuidle/governors/Makefile#ec8f24b7</link>
        <description>treewide: Add SPDX license identifier - Makefile/KconfigAdd SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any formThese files fall under the project license, GPL v2 only. The resulting SPDXlicense identifier is:  GPL-2.0-onlySigned-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/cpuidle/governors/Makefile</description>
        <pubDate>Sun, 19 May 2019 12:07:45 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>b26bf6ab - cpuidle: New timer events oriented governor for tickless systems</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/cpuidle/governors/Makefile#b26bf6ab</link>
        <description>cpuidle: New timer events oriented governor for tickless systemsThe venerable menu governor does some things that are quitequestionable in my view.First, it includes timer wakeups in the pattern detection data andmixes them up with wakeups from other sources which in some casescauses it to expect what essentially would be a timer wakeup in atime frame in which no timer wakeups are possible (because it knowsthe time until the next timer event and that is later than theexpected wakeup time).Second, it uses the extra exit latency limit based on the predictedidle duration and depending on the number of tasks waiting on I/O,even though those tasks may run on a different CPU when they arewoken up.  Moreover, the time ranges used by it for the sleep lengthcorrection factors depend on whether or not there are tasks waitingon I/O, which again doesn&apos;t imply anything in particular, and theyare not correlated to the list of available idle states in any waywhatever.Also, the pattern detection code in menu may end up consideringvalues that are too large to matter at all, in which cases runningit is a waste of time.A major rework of the menu governor would be required to addressthese issues and the performance of at least some workloads (tunedspecifically to the current behavior of the menu governor) is likelyto suffer from that.  It is thus better to introduce an entirely newgovernor without them and let everybody use the governor that worksbetter with their actual workloads.The new governor introduced here, the timer events oriented (TEO)governor, uses the same basic strategy as menu: it always tries tofind the deepest idle state that can be used in the given conditions.However, it applies a different approach to that problem.First, it doesn&apos;t use &quot;correction factors&quot; for the time till theclosest timer, but instead it tries to correlate the measured idleduration values with the available idle states and use thatinformation to pick up the idle state that is most likely to &quot;match&quot;the upcoming CPU idle interval.Second, it doesn&apos;t take the number of &quot;I/O waiters&quot; into account atall and the pattern detection code in it avoids taking timer wakeupsinto account.  It also only uses idle duration values less than thecurrent time till the closest timer (with the tick excluded) for thatpurpose.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Acked-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/cpuidle/governors/Makefile</description>
        <pubDate>Fri, 04 Jan 2019 11:30:47 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>4f86d3a8 - cpuidle: consolidate 2.6.22 cpuidle branch into one patch</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/cpuidle/governors/Makefile#4f86d3a8</link>
        <description>cpuidle: consolidate 2.6.22 cpuidle branch into one patchcommit e5a16b1f9eec0af7cfa0830304b41c1c0833cf9fAuthor: Len Brown &lt;len.brown@intel.com&gt;Date:   Tue Oct 2 23:44:44 2007 -0400    cpuidle: shrink diff    processor_idle.c |  440 +++++++++++++++++++++++++++++++++++++++++--    1 file changed, 429 insertions(+), 11 deletions(-)    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit dfbb9d5aedfb18848a3e0d6f6e3e4969febb209cAuthor: Len Brown &lt;len.brown@intel.com&gt;Date:   Wed Sep 26 02:17:55 2007 -0400    cpuidle: reduce diff size    Reduces the cpuidle processor_idle.c diff vs 2.6.22 from this     processor_idle.c | 2006 ++++++++++++++++++++++++++-----------------     1 file changed, 1219 insertions(+), 787 deletions(-)    to this:     processor_idle.c |  502 +++++++++++++++++++++++++++++++++++++++----     1 file changed, 458 insertions(+), 44 deletions(-)    ...for the purpose of making the cpuilde patch less invasive    and easier to review.    no functional changes.  build tested only.    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 889172fc915f5a7fe20f35b133cbd205ce69bf6cAuthor: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Thu Sep 13 13:40:05 2007 -0700    cpuidle: Retain old ACPI policy for !CONFIG_CPU_IDLE    Retain the old policy in processor_idle, so that when CPU_IDLE is not    configured, old C-state policy will still be used. This provides a    clean gradual migration path from old ACPI policy to new cpuidle    based policy.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 9544a8181edc7ecc33b3bfd69271571f98ed08bcAuthor: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Thu Sep 13 13:39:17 2007 -0700    cpuidle: Configure governors by default    Quoting Len &quot;Do not give an option to users to shoot themselves in the foot&quot;.    Remove the configurability of ladder and menu governors as they are    needed for default policy of cpuidle. That way users will not be able to    have cpuidle without any policy loosing all C-state power savings.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 8975059a2c1e56cfe83d1bcf031bcf4cb39be743Author: Adam Belay &lt;abelay@novell.com&gt;Date:   Tue Aug 21 18:27:07 2007 -0400    CPUIDLE: load ACPI properly when CPUIDLE is disabled    Change the registration return codes for when CPUIDLE    support is not compiled into the kernel.  As a result, the ACPI    processor driver will load properly even if CPUIDLE is unavailable.    However, it may be possible to cleanup the ACPI processor driver further    and eliminate some dead code paths.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Acked-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit e0322e2b58dd1b12ec669bf84693efe0dc2414a8Author: Adam Belay &lt;abelay@novell.com&gt;Date:   Tue Aug 21 18:26:06 2007 -0400    CPUIDLE: remove cpuidle_get_bm_activity()    Remove cpuidle_get_bm_activity() and updates governors    accordingly.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Acked-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 18a6e770d5c82ba26653e53d240caa617e09e9abAuthor: Adam Belay &lt;abelay@novell.com&gt;Date:   Tue Aug 21 18:25:58 2007 -0400    CPUIDLE: max_cstate fix    Currently max_cstate is limited to 0, resulting in no idle processor    power management on ACPI platforms.  This patch restores the value to    the array size.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Acked-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 1fdc0887286179b40ce24bcdbde663172e205ef0Author: Adam Belay &lt;abelay@novell.com&gt;Date:   Tue Aug 21 18:25:40 2007 -0400    CPUIDLE: handle BM detection inside the ACPI Processor driver    Update the ACPI processor driver to detect BM activity and    limit state entry depth internally, rather than exposing such    requirements to CPUIDLE.  As a result, CPUIDLE can drop this    ACPI-specific interface and become more platform independent.  BM    activity is now handled much more aggressively than it was in the    original implementation, so some testing coverage may be needed to    verify that this doesn&apos;t introduce any DMA buffer under-run issues.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Acked-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 0ef38840db666f48e3cdd2b769da676c57228dd9Author: Adam Belay &lt;abelay@novell.com&gt;Date:   Tue Aug 21 18:25:14 2007 -0400    CPUIDLE: menu governor updates    Tweak the menu governor to more effectively handle non-timer    break events.  Non-timer break events are detected by comparing the    actual sleep time to the expected sleep time.  In future revisions, it    may be more reliable to use the timer data structures directly.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Acked-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit bb4d74fca63fa96cf3ace644b15ae0f12b7df5a1Author: Adam Belay &lt;abelay@novell.com&gt;Date:   Tue Aug 21 18:24:40 2007 -0400    CPUIDLE: fix &apos;current_governor&apos; sysfs entry    Allow the &quot;current_governor&quot; sysfs entry to properly handle    input terminated with &apos;\n&apos;.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Acked-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit df3c71559bb69b125f1a48971bf0d17f78bbdf47Author: Len Brown &lt;len.brown@intel.com&gt;Date:   Sun Aug 12 02:00:45 2007 -0400    cpuidle: fix IA64 build (again)    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit a02064579e3f9530fd31baae16b1fc46b5a7bca8Author: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Sun Aug 12 01:39:27 2007 -0400    cpuidle: Remove support for runtime changing of max_cstate    Remove support for runtime changeability of max_cstate. Drivers can use    use latency APIs.    max_cstate can still be used as a boot time option and dmi override.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 0912a44b13adf22f5e3f607d263aed23b4910d7eAuthor: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Sun Aug 12 01:39:16 2007 -0400    cpuidle: Remove ACPI cstate_limit calls from ipw2100    ipw2100 already has code to use accetable_latency interfaces to limit the    C-state. Remove the calls to acpi_set_cstate_limit and acpi_get_cstate_limit    as they are redundant.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit c649a76e76be6bff1fd770d0a775798813a3f6e0Author: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Sun Aug 12 01:35:39 2007 -0400    cpuidle: compile fix for pause and resume functions    Fix the compilation failure when cpuidle is not compiled in.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Acked-by: Adam Belay &lt;adam.belay@novell.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 2305a5920fb8ee6ccec1c62ade05aa8351091d71Author: Adam Belay &lt;abelay@novell.com&gt;Date:   Thu Jul 19 00:49:00 2007 -0400    cpuidle: re-write    Some portions have been rewritten to make the code cleaner and lighter    weight.  The following is a list of changes:    1.) the state name is now included in the sysfs interface    2.) detection, hotplug, and available state modifications are handled by    CPUIDLE drivers directly    3.) the CPUIDLE idle handler is only ever installed when at least one    cpuidle_device is enabled and ready    4.) the menu governor BM code no longer overflows    5.) the sysfs attributes are now printed as unsigned integers, avoiding    negative values    6.) a variety of other small cleanups    Also, Idle drivers are no longer swappable during runtime through the    CPUIDLE sysfs inteface.  On i386 and x86_64 most idle handlers (e.g.    poll, mwait, halt, etc.) don&apos;t benefit from an infrastructure that    supports multiple states, so I think using a more general case idle    handler selection mechanism would be cleaner.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Acked-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Acked-by: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit df25b6b56955714e6e24b574d88d1fd11f0c3ee5Author: Len Brown &lt;len.brown@intel.com&gt;Date:   Tue Jul 24 17:08:21 2007 -0400    cpuidle: fix IA64 buid    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit fd6ada4c14488755ff7068860078c437431fbccdAuthor: Adrian Bunk &lt;bunk@stusta.de&gt;Date:   Mon Jul 9 11:33:13 2007 -0700    cpuidle: static    make cpuidle_replace_governor() static    Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;    Cc: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit c1d4a2cebcadf2429c0c72e1d29aa2a9684c32e0Author: Adrian Bunk &lt;bunk@stusta.de&gt;Date:   Tue Jul 3 00:54:40 2007 -0400    cpuidle: static    This patch makes the needlessly global struct menu_governor static.    Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit dbf8780c6e8d572c2c273da97ed1cca7608fd999Author: Andrew Morton &lt;akpm@linux-foundation.org&gt;Date:   Tue Jul 3 00:49:14 2007 -0400    export symbol tick_nohz_get_sleep_length    ERROR: &quot;tick_nohz_get_sleep_length&quot; [drivers/cpuidle/governors/menu.ko] undefined!    ERROR: &quot;tick_nohz_get_idle_jiffies&quot; [drivers/cpuidle/governors/menu.ko] undefined!    And please be sure to get your changes to core kernel suitably reviewed.    Cc: Adam Belay &lt;abelay@novell.com&gt;    Cc: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Cc: Ingo Molnar &lt;mingo@elte.hu&gt;    Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;    Cc: john stultz &lt;johnstul@us.ibm.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 29f0e248e7017be15f99febf9143a2cef00b2961Author: Andrew Morton &lt;akpm@linux-foundation.org&gt;Date:   Tue Jul 3 00:43:04 2007 -0400    tick.h needs hrtimer.h    It uses hrtimers.    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit e40cede7d63a029e92712a3fe02faee60cc38fb4Author: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Tue Jul 3 00:40:34 2007 -0400    cpuidle: first round of documentation updates    Documentation changes based on Pavel&apos;s feedback.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 83b42be2efece386976507555c29e7773a0dfcd1Author: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Tue Jul 3 00:39:25 2007 -0400    cpuidle: add rating to the governors and pick the one with highest rating by default    Introduce a governor rating scheme to pick the right governor by default.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit d2a74b8c5e8f22def4709330d4bfc4a29209b71cAuthor: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Tue Jul 3 00:38:08 2007 -0400    cpuidle: make cpuidle sysfs driver governor switch off by default    Make default cpuidle sysfs to show current_governor and current_driver in    read-only mode.  More elaborate available_governors and available_drivers with    writeable current_governor and current_driver interface only appear with    &quot;cpuidle_sysfs_switch&quot; boot parameter.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 1f60a0e80bf83cf6b55c8845bbe5596ed8f6307bAuthor: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Tue Jul 3 00:37:00 2007 -0400    cpuidle: menu governor: change the early break condition    Change the C-state early break out algorithm in menu governor.    We only look at early breakouts that result in wakeups shorter than idle    state&apos;s target_residency.  If such a breakout is frequent enough, eliminate    the particular idle state upto a timeout period.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 45a42095cf64b003b4a69be3ce7f434f97d7af51Author: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Tue Jul 3 00:35:38 2007 -0400    cpuidle: fix uninitialized variable in sysfs routine    Fix the uninitialized usage of ret.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 80dca7cdba3e6ee13eae277660873ab9584eb3beAuthor: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Tue Jul 3 00:34:16 2007 -0400    cpuidle: reenable /proc/acpi//power interface for the time being    Keep /proc/acpi/processor/CPU*/power around for a while as powertop depends    on it. It will be marked deprecated and removed in future. powertop can use    cpuidle interfaces instead.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 589c37c2646c5e3813a51255a5ee1159cb4c33fcAuthor: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Tue Jul 3 00:32:37 2007 -0400    cpuidle: menu governor and hrtimer compile fix    Compile fix for menu governor.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 0ba80bd9ab3ed304cb4f19b722e4cc6740588b5eAuthor: Len Brown &lt;len.brown@intel.com&gt;Date:   Thu May 31 22:51:43 2007 -0400    cpuidle: build fix - cpuidle vs ipw2100 module    ERROR: &quot;acpi_set_cstate_limit&quot; [drivers/net/wireless/ipw2100.ko] undefined!    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit d7d8fa7f96a7f7682be7c6cc0cc53fa7a18c3b58Author: Adam Belay &lt;abelay@novell.com&gt;Date:   Sat Mar 24 03:47:07 2007 -0400    cpuidle: add the &apos;menu&apos; governor    Here is my first take at implementing an idle PM governor that takes    full advantage of NO_HZ.  I call it the &apos;menu&apos; governor because it    considers the full list of idle states before each entry.    I&apos;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 &quot;ladder&quot; 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&apos;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:    &quot;echo &quot;menu&quot; &gt; /sys/devices/system/cpu/cpuidle/current_governor&quot;    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit a4bec7e65aa3b7488b879d971651cc99a6c410feAuthor: Adam Belay &lt;abelay@novell.com&gt;Date:   Sat Mar 24 03:47:03 2007 -0400    cpuidle: export time until next timer interrupt using NO_HZ    Expose information about the time remaining until the next    timer interrupt expires by utilizing the dynticks infrastructure.    Also modify the main idle loop to allow dynticks to handle    non-interrupt break events (e.g. DMA).  Finally, expose sleep ticks    information to external code.  Thomas Gleixner is responsible for much    of the code in this patch.  However, I&apos;ve made some additional changes,    so I&apos;m probably responsible if there are any bugs or oversights :)    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 2929d8996fbc77f41a5ff86bb67cdde3ca7d2d72Author: Adam Belay &lt;abelay@novell.com&gt;Date:   Sat Mar 24 03:46:58 2007 -0400    cpuidle: governor API changes    This patch prepares cpuidle for the menu governor.  It adds an optional    stage after idle state entry to give the governor an opportunity to    check why the state was exited.  Also it makes sure the idle loop    returns after each state entry, allowing the appropriate dynticks code    to run.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 3a7fd42f9825c3b03e364ca59baa751bb350775fAuthor: Venki Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Thu Apr 26 00:03:59 2007 -0700    cpuidle: hang fix    Prevent hang on x86-64, when ACPI processor driver is added as a module on    a system that does not support C-states.    x86-64 expects all idle handlers to enable interrupts before returning from    idle handler.  This is due to enter_idle(), exit_idle() races.  Make    cpuidle_idle_call() confirm to this when there is no pm_idle_old.    Also, cpuidle look at the return values of attch_driver() and set    current_driver to NULL if attach fails on all CPUs.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 4893339a142afbd5b7c01ffadfd53d14746e858eAuthor: Shaohua Li &lt;shaohua.li@intel.com&gt;Date:   Thu Apr 26 10:40:09 2007 +0800    cpuidle: add support for max_cstate limit    With CPUIDLE framework, the max_cstate (to limit max cpu c-state)    parameter is ingored. Some systems require it to ignore C2/C3    and some drivers like ipw require it too.    Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 43bbbbe1cb998cbd2df656f55bb3bfe30f30e7d1Author: Shaohua Li &lt;shaohua.li@intel.com&gt;Date:   Thu Apr 26 10:40:13 2007 +0800    cpuidle: add cpuidle_fore_redetect_devices API    add cpuidle_force_redetect_devices API,    which forces all CPU redetect idle states.    Next patch will use it.    Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit d1edadd608f24836def5ec483d2edccfb37b1d19Author: Shaohua Li &lt;shaohua.li@intel.com&gt;Date:   Thu Apr 26 10:40:01 2007 +0800    cpuidle: fix sysfs related issue    Fix the cpuidle sysfs issue.    a. make kobject dynamicaly allocated    b. fixed sysfs init issue to avoid suspend/resume issue    Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 7169a5cc0d67b263978859672e86c13c23a5570dAuthor: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;Date:   Wed Mar 28 22:52:53 2007 -0400    cpuidle: 1-bit field must be unsigned    A 1-bit bitfield has no room for a sign bit.    drivers/cpuidle/governors/ladder.c:54:16: error: dubious bitfield without explicit `signed&apos; or `unsigned&apos;    Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;    Cc: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 4658620158dc2fbd9e4bcb213c5b6fb5d05ba7d4Author: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Wed Mar 28 22:52:41 2007 -0400    cpuidle: fix boot hang    Patch for cpuidle boot hang reported by Larry Finger here.    http://www.ussg.iu.edu/hypermail/linux/kernel/0703.2/2025.html    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Cc: Larry Finger &lt;larry.finger@lwfinger.net&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit c17e168aa6e5fe3851baaae8df2fbc1cf11443a9Author: Len Brown &lt;len.brown@intel.com&gt;Date:   Wed Mar 7 04:37:53 2007 -0500    cpuidle: ladder does not depend on ACPI    build fix for CONFIG_ACPI=n    In file included from drivers/cpuidle/governors/ladder.c:21:    include/acpi/processor.h:88: error: expected specifier-qualifier-list before &#226;&#128;&#152;acpi_integer&#226;&#128;&#153;    include/acpi/processor.h:106: error: expected specifier-qualifier-list before &#226;&#128;&#152;acpi_integer&#226;&#128;&#153;    include/acpi/processor.h:168: error: expected specifier-qualifier-list before &#226;&#128;&#152;acpi_handle&#226;&#128;&#153;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 8c91d958246bde68db0c3f0c57b535962ce861cbAuthor: Adrian Bunk &lt;bunk@stusta.de&gt;Date:   Tue Mar 6 02:29:40 2007 -0800    cpuidle: make code static    This patch makes the following needlessly global code static:    - driver.c: __cpuidle_find_driver()    - governor.c: __cpuidle_find_governor()    - ladder.c: struct ladder_governor    Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;    Cc: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Cc: Adam Belay &lt;abelay@novell.com&gt;    Cc: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 0c39dc3187094c72c33ab65a64d2017b21f372d2Author: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Wed Mar 7 02:38:22 2007 -0500    cpu_idle: fix build break    This patch fixes a build breakage with !CONFIG_HOTPLUG_CPU and    CONFIG_CPU_IDLE.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 8112e3b115659b07df340ef170515799c0105f82Author: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Tue Mar 6 02:29:39 2007 -0800    cpuidle: build fix for !CPU_IDLE    Fix the compile issues when CPU_IDLE is not configured.    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Cc: Adam Belay &lt;abelay@novell.com&gt;    Cc: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 1eb4431e9599cd25e0d9872f3c2c8986821839ddAuthor: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Thu Feb 22 13:54:57 2007 -0800    cpuidle take2: Basic documentation for cpuidle    Documentation for cpuidle infrastructure    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit ef5f15a8b79123a047285ec2e3899108661df779Author: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Thu Feb 22 13:54:03 2007 -0800    cpuidle take2: Hookup ACPI C-states driver with cpuidle    Hookup ACPI C-states onto generic cpuidle infrastructure.    drivers/acpi/procesor_idle.c is now a ACPI C-states driver that registers as    a driver in cpuidle infrastructure and the policy part is removed from    drivers/acpi/processor_idle.c. We use governor in cpuidle instead.    Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;commit 987196fa82d4db52c407e8c9d5dec884ba602183Author: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;Date:   Thu Feb 22 13:52:57 2007 -0800    cpuidle take2: Core cpuidle infrastructure    Announcing &apos;cpuidle&apos;, a new CPU power management infrastructure to manage    idle CPUs in a clean and efficient manner.    cpuidle separates out the drivers that can provide support for multiple types    of idle states and policy governors that decide on what idle state to use    at run time.    A cpuidle driver can support multiple idle states based on parameters like    varying power consumption, wakeup latency, etc (ACPI C-states for example).    A cpuidle governor can be usage model specific (laptop, server,    laptop on battery etc).    Main advantage of the infrastructure being, it allows independent development    of drivers and governors and allows for better CPU power management.    A huge thanks to Adam Belay and Shaohua Li who were part of this mini-project    since its beginning and are greatly responsible for this patchset.    This patch:    Core cpuidle infrastructure.    Introduces a new abstraction layer for cpuidle:    * which manages drivers that can support multiple idles states. Drivers      can be generic or particular to specific hardware/platform    * allows pluging in multiple policy governors that can take idle state policy      decision    * The core also has a set of sysfs interfaces with which administrato can know      about supported drivers and governors and switch them at run time.    Signed-off-by: Adam Belay &lt;abelay@novell.com&gt;    Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;    Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;    Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;

            List of files:
            /linux-6.15/drivers/cpuidle/governors/Makefile</description>
        <pubDate>Wed, 03 Oct 2007 22:58:00 +0000</pubDate>
        <dc:creator>Len Brown &lt;len.brown@intel.com&gt;</dc:creator>
    </item>
</channel>
</rss>
