<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/tools/power, branch v3.13.3</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/tools/power?h=v3.13.3</id>
<link rel='self' href='https://git.amat.us/linux/atom/tools/power?h=v3.13.3'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-02-13T21:55:31Z</updated>
<entry>
<title>turbostat: Use GCC's CPUID functions to support PIC</title>
<updated>2014-02-13T21:55:31Z</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=1de5672690eadf885462726fb2ef76c6a2fc24e5'/>
<id>urn:sha1:1de5672690eadf885462726fb2ef76c6a2fc24e5</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:55:30Z</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=03ec08b68d3751a88d1ac7b59493d9f0f5aefd77'/>
<id>urn:sha1:03ec08b68d3751a88d1ac7b59493d9f0f5aefd77</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>2013-12-17T19:29:30Z</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=f447ef4a56dee4b68a91460bcdfe06b5011085f2'/>
<id>urn:sha1:f447ef4a56dee4b68a91460bcdfe06b5011085f2</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>tools: cpupower: fix wrong err msg not supported vs not available</title>
<updated>2013-11-25T22:10:50Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2013-11-16T13:39:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f4a5d17efec95ee74113df62943494a2197c8bae'/>
<id>urn:sha1:f4a5d17efec95ee74113df62943494a2197c8bae</id>
<content type='text'>
idlestates in sysfs are counted from 0.

This fixes a wrong error message.
Current behavior on a machine with 4 sleep states is:

cpupower idle-set -e 4
Idlestate 4 enabled on CPU 0

-----Wrong---------------------
cpupower idle-set -e 5
Idlestate enabling not supported by kernel
-----Must and now will be -----
cpupower idle-set -e 5
Idlestate 6 not available on CPU 0
-------------------------------

cpupower idle-set -e 6
Idlestate 6 not available on CPU 0

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>tools: cpupower: Add cpupower-idle-set(1) manpage</title>
<updated>2013-11-25T22:10:50Z</updated>
<author>
<name>Thomas Renninger</name>
<email>trenn@suse.de</email>
</author>
<published>2013-11-16T13:39:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5094d271715a5bd0f7f4adb38d825ce6903eb6eb'/>
<id>urn:sha1:5094d271715a5bd0f7f4adb38d825ce6903eb6eb</id>
<content type='text'>
The cpupower idle-set subcommand was introduce recently.
This patch provides the missing manpage.

If cpupower is properly installed it will show up automatically
(similar to git), when invoking:
cpupower help idle-set
or
cpupower idle-set --help

Some parts have been taken over and adjusted from
git commit 62d6ae880e3e76098
documentation submitted by Carsten Emde.

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>tools / power turbostat: Support Silvermont</title>
<updated>2013-11-12T22:16:02Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2013-11-09T05:30:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=144b44b1355df48eac7fee4c7519f4be0aafa4a3'/>
<id>urn:sha1:144b44b1355df48eac7fee4c7519f4be0aafa4a3</id>
<content type='text'>
Support the next generation Intel Atom processor
mirco-architecture, formerly called Silvermont.

The server version, formerly called "Avoton",
is named the "Intel(R) Atom(TM) Processor C2000 Product Family".

The client version, formerly called "Bay Trail",
is named the "Intel Atom Processor Z3000 Series",
as well as various "Intel Pentium Processor"
and "Intel Celeron Processor" brands, depending
on form-factor.

Silvermont has a set of MSRs not far off from NHM,
but the RAPL register set is a sub-set of those previously supported.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&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>
</feed>
