linux/tools/power/cpupower/utils
Thomas Renninger c8cfc3c6bf cpupower: Provide -c param for cpupower monitor to schedule process on all cores
If an MSR based monitor is run in parallel this is not needed. This is the
default case on all/most Intel machines.

But when only sysfs info is read via cpupower monitor -m Idle_Stats (typically
the case for non root users) or when other monitors are PCI based (AMD),
Idle_Stats, read from sysfs can be totally bogus:

cpupower monitor -m Idle_Stats
PKG |CORE|CPU | POLL | C1-N | C3-N | C6-N
   0|   0|   0|  0.00|  0.00|  0.24| 99.81
   0|   0|  32|  0.00|  0.00|  0.00| 100.7
...
   0|  17|  20|  0.00|  0.00|  0.00| 173.1
   0|  17|  52|  0.00|  0.00|  0.07| 173.0
   0|  18|  68|  0.00|  0.00|  0.00|  0.00
   0|  18|  76|  0.00|  0.00|  0.00|  0.00
...

With the -c option all cores are woken up and the kernel
did update cpuidle statistics before reading out sysfs.
This causes some overhead. Therefore avoid if possible, use
if needed:

cpupower monitor -c -m Idle_Stats
PKG |CORE|CPU | POLL | C1-N | C3-N | C6-N
   0|   0|   0|  0.00|  0.00|  0.00| 100.2
   0|   0|  32|  0.00|  0.00|  0.00| 100.2
...
   0|   8|   8|  0.00|  0.00|  0.00| 99.82
   0|   8|  40|  0.00|  0.00|  0.00| 99.81
   0|   9|  24|  0.00|  0.00|  0.00| 100.3
   0|   9|  56|  0.00|  0.00|  0.00| 100.2
   0|  16|   4|  0.00|  0.00|  0.00| 99.75
   0|  16|  36|  0.00|  0.00|  0.00| 99.38
...

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2012-11-27 23:07:20 +01:00
..
helpers cpupower: Provide -c param for cpupower monitor to schedule process on all cores 2012-11-27 23:07:20 +01:00
idle_monitor cpupower: Provide -c param for cpupower monitor to schedule process on all cores 2012-11-27 23:07:20 +01:00
builtin.h cpupower: use man(1) when calling "cpupower help subcommand" 2011-08-19 17:13:56 +02:00
cpufreq-info.c cpupower: use man(1) when calling "cpupower help subcommand" 2011-08-19 17:13:56 +02:00
cpufreq-set.c cpupower: use man(1) when calling "cpupower help subcommand" 2011-08-19 17:13:56 +02:00
cpuidle-info.c cpupower: Remove unneeded code and by that fix a memleak 2012-03-03 14:40:10 +01:00
cpupower-info.c cpupower: use man(1) when calling "cpupower help subcommand" 2011-08-19 17:13:56 +02:00
cpupower-set.c cpupower: use man(1) when calling "cpupower help subcommand" 2011-08-19 17:13:56 +02:00
cpupower.c cpupower: use man(1) when calling "cpupower help subcommand" 2011-08-19 17:13:56 +02:00
version-gen.sh cpupowerutils: use kernel version-derived version string 2011-07-29 18:35:39 +02:00