Commit e975db5d authored by Len Brown's avatar Len Brown

tools/power turbostat: tidy up output on Joule counter overflow

The RAPL Joules counter is limited in capacity.
Turbostat estimates how soon it can roll-over
based on the max TDP of the processor --
which tells us the maximum increment rate.

eg.
RAPL: 2759 sec. Joule Counter Range, at 95 Watts

So if a sample duration is longer than 2759 seconds on this system,
'**' replace the decimal place in the display to indicate
that the results may be suspect.

But the display had an extra ' ' in this case, throwing off the columns.

Also, the -J "Joules" option appended an extra "time" column
to the display.  While this may be useful, it printed the interval time,
which may not be the accurate time per processor.  Remove this column,
which appeared only when using '-J',
as we plan to add accurate per-cpu interval times in a future commit.
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 43c4f67c
...@@ -423,8 +423,6 @@ void print_header(void) ...@@ -423,8 +423,6 @@ void print_header(void)
outp += sprintf(outp, " PKG_%%"); outp += sprintf(outp, " PKG_%%");
if (do_rapl & RAPL_DRAM_PERF_STATUS) if (do_rapl & RAPL_DRAM_PERF_STATUS)
outp += sprintf(outp, " RAM_%%"); outp += sprintf(outp, " RAM_%%");
outp += sprintf(outp, " time");
} }
done: done:
outp += sprintf(outp, "\n"); outp += sprintf(outp, "\n");
...@@ -665,7 +663,7 @@ int format_counters(struct thread_data *t, struct core_data *c, ...@@ -665,7 +663,7 @@ int format_counters(struct thread_data *t, struct core_data *c,
if (interval_float < rapl_joule_counter_range) if (interval_float < rapl_joule_counter_range)
fmt8 = "%8.2f"; fmt8 = "%8.2f";
else else
fmt8 = " %6.0f**"; fmt8 = "%6.0f**";
if (do_rapl && !rapl_joules) { if (do_rapl && !rapl_joules) {
if (do_rapl & RAPL_PKG) if (do_rapl & RAPL_PKG)
...@@ -697,8 +695,6 @@ int format_counters(struct thread_data *t, struct core_data *c, ...@@ -697,8 +695,6 @@ int format_counters(struct thread_data *t, struct core_data *c,
outp += sprintf(outp, fmt8, 100.0 * p->rapl_pkg_perf_status * rapl_time_units / interval_float); outp += sprintf(outp, fmt8, 100.0 * p->rapl_pkg_perf_status * rapl_time_units / interval_float);
if (do_rapl & RAPL_DRAM_PERF_STATUS) if (do_rapl & RAPL_DRAM_PERF_STATUS)
outp += sprintf(outp, fmt8, 100.0 * p->rapl_dram_perf_status * rapl_time_units / interval_float); outp += sprintf(outp, fmt8, 100.0 * p->rapl_dram_perf_status * rapl_time_units / interval_float);
outp += sprintf(outp, fmt8, interval_float);
} }
done: done:
outp += sprintf(outp, "\n"); outp += sprintf(outp, "\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment