tools/power: turbostat v2 - re-write for efficiency
authorLen Brown <len.brown@intel.com>
Mon, 4 Jun 2012 04:56:40 +0000 (00:56 -0400)
committerLen Brown <len.brown@intel.com>
Fri, 20 Jul 2012 02:26:14 +0000 (22:26 -0400)
commitc98d5d9444732a032bc55d1a496bfa8439da9199
treea6d3ba319f3c575c21f8bb7cc757c928135b6cbd
parentd3514abcf5b896a3a66d8b7c960a0018a52ebc2c
tools/power: turbostat v2 - re-write for efficiency

Measuring large profoundly-idle configurations
requires turbostat to be more lightweight.
Otherwise, the operation of turbostat itself
can interfere with the measurements.

This re-write makes turbostat topology aware.
Hardware is accessed in "topology order".
Redundant hardware accesses are deleted.
Redundant output is deleted.
Also, output is buffered and
local RDTSC use replaces remote MSR access for TSC.

From a feature point of view, the output
looks different since redundant figures are absent.
Also, there are now -c and -p options -- to restrict
output to the 1st thread in each core, and the 1st
thread in each package, respectively.  This is helpful
to reduce output on big systems, where more detail
than the "-s" system summary is desired.
Finally, periodic mode output is now on stdout, not stderr.

Turbostat v2 is also slightly more robust in
handling run-time CPU online/offline events,
as it now checks the actual map of on-line cpus rather
than just the total number of on-line cpus.

Signed-off-by: Len Brown <len.brown@intel.com>
tools/power/x86/turbostat/Makefile
tools/power/x86/turbostat/turbostat.8
tools/power/x86/turbostat/turbostat.c