<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/tools/power, branch v3.12.14</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/tools/power?h=v3.12.14</id>
<link rel='self' href='https://git.amat.us/linux/atom/tools/power?h=v3.12.14'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-02-13T21:50:13Z</updated>
<entry>
<title>turbostat: Use GCC's CPUID functions to support PIC</title>
<updated>2014-02-13T21:50:13Z</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2013-08-21T00:20:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac7b8b31436d5c86e4c5da354d3faf83a96b44f5'/>
<id>urn:sha1:ac7b8b31436d5c86e4c5da354d3faf83a96b44f5</id>
<content type='text'>
commit 2b92865e648ce04a39fda4f903784a5d01ecb0dc upstream.

turbostat uses inline assembly to call cpuid.  On 32-bit x86, on systems
that have certain security features enabled by default that make -fPIC
the default, this causes a build error:

turbostat.c: In function ‘check_cpuid’:
turbostat.c:1906:2: error: PIC register clobbered by ‘ebx’ in ‘asm’
  asm("cpuid" : "=a" (fms), "=c" (ecx), "=d" (edx) : "a" (1) : "ebx");
  ^

GCC provides a header cpuid.h, containing a __get_cpuid function that
works with both PIC and non-PIC.  (On PIC, it saves and restores ebx
around the cpuid instruction.)  Use that instead.

Signed-off-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>turbostat: Don't put unprocessed uapi headers in the include path</title>
<updated>2014-02-13T21:50:13Z</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2013-08-21T00:20:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f5b6d821e80b7d2086a58e4954f2ac2c1bdc94d1'/>
<id>urn:sha1:f5b6d821e80b7d2086a58e4954f2ac2c1bdc94d1</id>
<content type='text'>
commit b731f3119de57144e16c19fd593b8daeb637843e upstream.

turbostat's Makefile puts arch/x86/include/uapi/ in the include path, so
that it can include &lt;asm/msr.h&gt; from it.  It isn't in general safe to
include even uapi headers directly from the kernel tree without
processing them through scripts/headers_install.sh, but asm/msr.h
happens to work.

However, that include path can break with some versions of system
headers, by overriding some system headers with the unprocessed versions
directly from the kernel source.  For instance:

In file included from /build/x86-generic/usr/include/bits/sigcontext.h:28:0,
                 from /build/x86-generic/usr/include/signal.h:339,
                 from /build/x86-generic/usr/include/sys/wait.h:31,
                 from turbostat.c:27:
../../../../arch/x86/include/uapi/asm/sigcontext.h:4:28: fatal error: linux/compiler.h: No such file or directory

This occurs because the system bits/sigcontext.h on that build system
includes &lt;asm/sigcontext.h&gt;, and asm/sigcontext.h in the kernel source
includes &lt;linux/compiler.h&gt;, which scripts/headers_install.sh would have
filtered out.

Since turbostat really only wants a single header, just include that one
header rather than putting an entire directory of kernel headers on the
include path.

In the process, switch from msr.h to msr-index.h, since turbostat just
wants the MSR numbers.

Signed-off-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cpupower: Fix segfault due to incorrect getopt_long arugments</title>
<updated>2014-01-09T20:25:12Z</updated>
<author>
<name>Josh Boyer</name>
<email>jwboyer@redhat.com</email>
</author>
<published>2013-10-11T12:45:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=123cf1180f8baf254852948ebe26f2ca54289507'/>
<id>urn:sha1:123cf1180f8baf254852948ebe26f2ca54289507</id>
<content type='text'>
commit f447ef4a56dee4b68a91460bcdfe06b5011085f2 upstream.

If a user calls 'cpupower set --perf-bias 15', the process will end with
a SIGSEGV in libc because cpupower-set passes a NULL optarg to the atoi
call.  This is because the getopt_long structure currently has all of
the options as having an optional_argument when they really have a
required argument.  We change the structure to use required_argument to
match the short options and it resolves the issue.

This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1000439

Signed-off-by: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Cc: Dominik Brodowski &lt;linux@dominikbrodowski.net&gt;
Cc: Thomas Renninger &lt;trenn@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cpupower: Add Haswell family 0x45 specific idle monitor to show PC8,9,10 states</title>
<updated>2013-07-04T23:52:19Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2013-06-28T13:34:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7ee767b69b6885dd81bafaf1881c5028033a6177'/>
<id>urn:sha1:7ee767b69b6885dd81bafaf1881c5028033a6177</id>
<content type='text'>
This specific processor supports 3 new package sleep states.
Provide a monitor, so that the user can see their usage.

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpupower: Haswell also supports the C-states introduced with SandyBridge</title>
<updated>2013-07-04T23:52:19Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2013-06-28T13:34:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2aa1ca75c48f1da2c9bdc81ec4403eaf89a410d5'/>
<id>urn:sha1:2aa1ca75c48f1da2c9bdc81ec4403eaf89a410d5</id>
<content type='text'>
Add Haswell model numbers to snb_register() as it also supports the
C-states introduced in SandyBridge processors.

[rjw: Changelog]
Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpupower: Introduce idle-set subcommand and C-state enabling/disabling</title>
<updated>2013-07-04T23:52:19Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2013-06-28T13:34:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c4f3610eba69321b9cf35779cd67e68b5138cc16'/>
<id>urn:sha1:c4f3610eba69321b9cf35779cd67e68b5138cc16</id>
<content type='text'>
Example:

cpupower idle-set -d 3

will disable C-state 3 on all processors (set commands are active on
all CPUs by default), same as:

cpupower -c all idle-set -d 3

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpupower: Implement disabling of cstate interface</title>
<updated>2013-07-04T23:52:19Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2013-06-28T13:34:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0924c369bc5492cf181a066fc2d459aa18ffa5ac'/>
<id>urn:sha1:0924c369bc5492cf181a066fc2d459aa18ffa5ac</id>
<content type='text'>
Latest kernel allows to disable C-states via:
/sys/devices/system/cpu/cpuX/cpuidle/stateY/disable

This patch provides lower level sysfs access functions to make use of
this interface.  A later patch will implement the higher level stuff.

Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpupower: Make idlestate usage unsigned</title>
<updated>2013-07-04T23:52:19Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2013-06-28T13:34:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f605181abd95a109031a23c67a824eb8e5dcfe67'/>
<id>urn:sha1:f605181abd95a109031a23c67a824eb8e5dcfe67</id>
<content type='text'>
Use unsigned int as the data type for some variables related to CPU
idle states which allows the code to be simplified slightly.

[rjw: Changelog]
Signed-off-by: Thomas Renninger &lt;trenn@suse.de&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>turbostat: Increase output buffer size to accommodate C8-C10</title>
<updated>2013-06-13T16:55:56Z</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2013-06-13T00:26:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b844db31874e3b1c3b86c65024ac7bed9f77ee42'/>
<id>urn:sha1:b844db31874e3b1c3b86c65024ac7bed9f77ee42</id>
<content type='text'>
On platforms with C8-C10 support, the additional C-states cause
turbostat to overrun its output buffer of 128 bytes per CPU.  Increase
this to 256 bytes per CPU.

[ As a bugfix, this should go into 3.10; however, since the C8-C10
  support didn't go in until after 3.9, this need not go into any stable
  kernel. ]

Signed-off-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Cc: Len Brown &lt;len.brown@intel.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux</title>
<updated>2013-05-11T22:23:17Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-05-11T22:23:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac4e01093f6d7b051c5d6a3e61ea5337774ac36a'/>
<id>urn:sha1:ac4e01093f6d7b051c5d6a3e61ea5337774ac36a</id>
<content type='text'>
Pull idle update from Len Brown:
 "Add support for new Haswell-ULT CPU idle power states"

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
  intel_idle: initial C8, C9, C10 support
  tools/power turbostat: display C8, C9, C10 residency
</content>
</entry>
</feed>
