summaryrefslogtreecommitdiffstats
path: root/tools/power
diff options
context:
space:
mode:
authorPrarit Bhargava <prarit@redhat.com>2018-06-01 16:04:35 +0200
committerLen Brown <len.brown@intel.com>2018-06-02 05:12:47 +0200
commit012350411b09a57e0f15eb438e3c9b877cdc66a1 (patch)
tree3589b9d148ea752da2de94638100ddb2c8ed85dd /tools/power
parenttools/power turbostat: add node information into turbostat calculations (diff)
downloadlinux-012350411b09a57e0f15eb438e3c9b877cdc66a1.tar.xz
linux-012350411b09a57e0f15eb438e3c9b877cdc66a1.zip
tools/power turbostat: Add Node in output
Output a Node column if there is more than one node/socket. Signed-off-by: Prarit Bhargava <prarit@redhat.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'tools/power')
-rw-r--r--tools/power/x86/turbostat/turbostat.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c
index 42273019da10..0049154929f0 100644
--- a/tools/power/x86/turbostat/turbostat.c
+++ b/tools/power/x86/turbostat/turbostat.c
@@ -485,6 +485,7 @@ struct msr_counter bic[] = {
#define BIC_Any_c0 (1ULL << 42)
#define BIC_GFX_c0 (1ULL << 43)
#define BIC_CPUGFX (1ULL << 44)
+#define BIC_Node (1ULL << 45)
#define BIC_DISABLED_BY_DEFAULT (BIC_USEC | BIC_TOD)
@@ -594,6 +595,8 @@ void print_header(char *delim)
outp += sprintf(outp, "%sTime_Of_Day_Seconds", (printed++ ? delim : ""));
if (DO_BIC(BIC_Package))
outp += sprintf(outp, "%sPackage", (printed++ ? delim : ""));
+ if (DO_BIC(BIC_Node))
+ outp += sprintf(outp, "%sNode", (printed++ ? delim : ""));
if (DO_BIC(BIC_Core))
outp += sprintf(outp, "%sCore", (printed++ ? delim : ""));
if (DO_BIC(BIC_CPU))
@@ -871,6 +874,8 @@ int format_counters(struct thread_data *t, struct core_data *c,
if (t == &average.threads) {
if (DO_BIC(BIC_Package))
outp += sprintf(outp, "%s-", (printed++ ? delim : ""));
+ if (DO_BIC(BIC_Node))
+ outp += sprintf(outp, "%s-", (printed++ ? delim : ""));
if (DO_BIC(BIC_Core))
outp += sprintf(outp, "%s-", (printed++ ? delim : ""));
if (DO_BIC(BIC_CPU))
@@ -882,6 +887,15 @@ int format_counters(struct thread_data *t, struct core_data *c,
else
outp += sprintf(outp, "%s-", (printed++ ? delim : ""));
}
+ if (DO_BIC(BIC_Node)) {
+ if (t)
+ outp += sprintf(outp, "%s%d",
+ (printed++ ? delim : ""),
+ cpus[t->cpu_id].physical_node_id);
+ else
+ outp += sprintf(outp, "%s-",
+ (printed++ ? delim : ""));
+ }
if (DO_BIC(BIC_Core)) {
if (c)
outp += sprintf(outp, "%s%d", (printed++ ? delim : ""), c->core_id);
@@ -4770,6 +4784,8 @@ void topology_probe()
set_node_data();
if (debug > 1)
fprintf(outf, "nodes_per_pkg %d\n", topo.nodes_per_pkg);
+ if (!summary_only && topo.nodes_per_pkg > 1)
+ BIC_PRESENT(BIC_Node);
topo.threads_per_core = max_siblings;
if (debug > 1)