<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/idle, branch v3.1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/idle?h=v3.1</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/idle?h=v3.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-02-28T16:04:45Z</updated>
<entry>
<title>intel_idle: Rename cpuidle states</title>
<updated>2011-02-28T16:04:45Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2011-02-27T21:36:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=15e123e5d7e8ee9ba3717e743d8eb5fd0fe57712'/>
<id>urn:sha1:15e123e5d7e8ee9ba3717e743d8eb5fd0fe57712</id>
<content type='text'>
Userspace apps might have to cut off parts off the
idle state name for display reasons.
Switch NHM-C1 to C1-NHM (and others) so that a cut off
name is unique and makes sense to the user.

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
CC: lenb@kernel.org
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>intel_idle: disable Atom/Lincroft HW C-state auto-demotion</title>
<updated>2011-02-17T22:08:48Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2011-02-16T06:32:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bfb53ccf1c734b1907df7189eef4c08489827951'/>
<id>urn:sha1:bfb53ccf1c734b1907df7189eef4c08489827951</id>
<content type='text'>
Just as we had to disable auto-demotion for NHM/WSM,
we need to do the same for Atom (Lincroft version).

In particular, auto-demotion will prevent Lincroft
from entering the S0i3 idle power saving state.

https://bugzilla.kernel.org/show_bug.cgi?id=25252

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>intel_idle: disable NHM/WSM HW C-state auto-demotion</title>
<updated>2011-02-17T22:08:46Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2011-01-19T01:48:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=14796fca2bd22acc73dd0887248d003b0f441d08'/>
<id>urn:sha1:14796fca2bd22acc73dd0887248d003b0f441d08</id>
<content type='text'>
Hardware C-state auto-demotion is a mechanism where the HW overrides
the OS C-state request, instead demoting to a shallower state,
which is less expensive, but saves less power.

Modern Linux should generally get exactly the states it requests.
In particular, when a CPU is taken off-line, it must not be demoted, else
it can prevent the entire package from reaching deep C-states.

https://bugzilla.kernel.org/show_bug.cgi?id=25252

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>fix a shutdown regression in intel_idle</title>
<updated>2011-01-24T19:57:34Z</updated>
<author>
<name>Shaohua Li</name>
<email>shaohua.li@intel.com</email>
</author>
<published>2011-01-24T08:00:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ec30f343d61391ab23705e50a525da1d55395780'/>
<id>urn:sha1:ec30f343d61391ab23705e50a525da1d55395780</id>
<content type='text'>
Fix a shutdown regression caused by 2a2d31c8dc6f ("intel_idle: open
broadcast clock event").  The clockevent framework can automatically
shutdown broadcast timers for hotremove CPUs.  And we get a shutdown
regression when we shutdown broadcast timer for hot remove CPU, so just
delete some code.

Also fix some section mismatch.

Reported-by: Ari Savolainen &lt;ari.m.savolainen@gmail.com&gt;
Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;
Tested-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'cpuidle-perf-events' into idle-test</title>
<updated>2011-01-12T23:06:19Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2011-01-12T23:06:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=43952886f0b8b3c344c3392b88de067d5fa5419a'/>
<id>urn:sha1:43952886f0b8b3c344c3392b88de067d5fa5419a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'linus' into idle-test</title>
<updated>2011-01-12T23:06:06Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2011-01-12T23:06:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=56dbed129df3fdd4caf9018b6e7599ee258a5420'/>
<id>urn:sha1:56dbed129df3fdd4caf9018b6e7599ee258a5420</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cpuidle/x86/perf: fix power:cpu_idle double end events and throw cpu_idle events from the cpuidle layer</title>
<updated>2011-01-12T23:05:16Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2011-01-07T10:29:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f77cfe4ea21760268c0277fa3e4b02dfd2a2c2f4'/>
<id>urn:sha1:f77cfe4ea21760268c0277fa3e4b02dfd2a2c2f4</id>
<content type='text'>
Currently intel_idle and acpi_idle driver show double cpu_idle "exit idle"
events -&gt; this patch fixes it and makes cpu_idle events throwing less complex.

It also introduces cpu_idle events for all architectures which use
the cpuidle subsystem, namely:
  - arch/arm/mach-at91/cpuidle.c
  - arch/arm/mach-davinci/cpuidle.c
  - arch/arm/mach-kirkwood/cpuidle.c
  - arch/arm/mach-omap2/cpuidle34xx.c
  - arch/drivers/acpi/processor_idle.c (for all cases, not only mwait)
  - arch/x86/kernel/process.c (did throw events before, but was a mess)
  - drivers/idle/intel_idle.c (did throw events before)

Convention should be:
Fire cpu_idle events inside the current pm_idle function (not somewhere
down the the callee tree) to keep things easy.

Current possible pm_idle functions in X86:
c1e_idle, poll_idle, cpuidle_idle_call, mwait_idle, default_idle
-&gt; this is really easy is now.

This affects userspace:
The type field of the cpu_idle power event can now direclty get
mapped to:
/sys/devices/system/cpu/cpuX/cpuidle/stateX/{name,desc,usage,time,...}
instead of throwing very CPU/mwait specific values.
This change is not visible for the intel_idle driver.
For the acpi_idle driver it should only be visible if the vendor
misses out C-states in his BIOS.
Another (perf timechart) patch reads out cpuidle info of cpu_idle
events from:
/sys/.../cpuidle/stateX/*, then the cpuidle events are mapped
to the correct C-/cpuidle state again, even if e.g. vendors miss
out C-states in their BIOS and for example only export C1 and C3.
-&gt; everything is fine.

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
CC: Robert Schoene &lt;robert.schoene@tu-dresden.de&gt;
CC: Jean Pihet &lt;j-pihet@ti.com&gt;
CC: Arjan van de Ven &lt;arjan@linux.intel.com&gt;
CC: Ingo Molnar &lt;mingo@elte.hu&gt;
CC: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
CC: linux-pm@lists.linux-foundation.org
CC: linux-acpi@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: linux-perf-users@vger.kernel.org
CC: linux-omap@vger.kernel.org
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>intel_idle: open broadcast clock event</title>
<updated>2011-01-12T17:47:34Z</updated>
<author>
<name>Shaohua Li</name>
<email>shaohua.li@intel.com</email>
</author>
<published>2011-01-10T01:38:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2a2d31c8dc6f1ebcf5eab1d93a0cb0fb4ed57c7c'/>
<id>urn:sha1:2a2d31c8dc6f1ebcf5eab1d93a0cb0fb4ed57c7c</id>
<content type='text'>
Intel_idle driver uses CLOCK_EVT_NOTIFY_BROADCAST_ENTER
CLOCK_EVT_NOTIFY_BROADCAST_EXIT
for broadcast clock events. The _ENTER/_EXIT doesn't really open broadcast clock
events, please see processor_idle.c for an example. In some situation, this will
cause boot hang, because some CPUs enters idle but local APIC timer stalls.

Reported-and-tested-by: Yan Zheng &lt;zheng.z.yan@intel.com&gt;
Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;
cc: stable@kernel.org
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>cpuidle: CPUIDLE_FLAG_TLB_FLUSHED is specific to intel_idle</title>
<updated>2011-01-12T17:47:33Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2011-01-12T07:51:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=956d033fb2eb3f8818260cdf01644bf4dc1a9e33'/>
<id>urn:sha1:956d033fb2eb3f8818260cdf01644bf4dc1a9e33</id>
<content type='text'>
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI, intel_idle: Cleanup idle= internal variables</title>
<updated>2011-01-12T17:47:30Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2010-11-03T16:06:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d18960494f65ca4fa0d67c865aaca99452070d15'/>
<id>urn:sha1:d18960494f65ca4fa0d67c865aaca99452070d15</id>
<content type='text'>
Having four variables for the same thing:
  idle_halt, idle_nomwait, force_mwait and boot_option_idle_overrides
is rather confusing and unnecessary complex.

if idle= boot param is passed, only set up one variable:
boot_option_idle_overrides

Introduces following functional changes/fixes:
  - intel_idle driver does not register if any idle=xy
    boot param is passed.
  - processor_idle.c will also not register a cpuidle driver
    and get active if idle=halt is passed.
    Before a cpuidle driver with one (C1, halt) state got registered
    Now the default_idle function will be used which finally uses
    the same idle call to enter sleep state (safe_halt()), but
    without registering a whole cpuidle driver.

That means idle= param will always avoid cpuidle drivers to register
with one exception (same behavior as before):
idle=nomwait
may still register acpi_idle cpuidle driver, but C1 will not use
mwait, but hlt. This can be a workaround for IO based deeper sleep
states where C1 mwait causes problems.

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
cc: x86@kernel.org
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
</feed>
