tools/power turbostat: tidy up output on Joule counter overflow
authorLen Brown <len.brown@intel.com>
Thu, 7 Apr 2016 03:56:02 +0000 (23:56 -0400)
committerLen Brown <len.brown@intel.com>
Thu, 1 Dec 2016 06:33:15 +0000 (01:33 -0500)
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: Len Brown <len.brown@intel.com>
tools/power/x86/turbostat/turbostat.c

index 3e199b508a96f566159f2589d3112612fe91f36f..a302a333c084f83eb488a76adfd2dcf97eca9b37 100644 (file)
@@ -423,8 +423,6 @@ void print_header(void)
                        outp += sprintf(outp, "   PKG_%%");
                if (do_rapl & RAPL_DRAM_PERF_STATUS)
                        outp += sprintf(outp, "   RAM_%%");
-               outp += sprintf(outp, "   time");
-
        }
     done:
        outp += sprintf(outp, "\n");
@@ -665,7 +663,7 @@ int format_counters(struct thread_data *t, struct core_data *c,
        if (interval_float < rapl_joule_counter_range)
                fmt8 = "%8.2f";
        else
-               fmt8 = " %6.0f**";
+               fmt8 = "%6.0f**";
 
        if (do_rapl && !rapl_joules) {
                if (do_rapl & RAPL_PKG)
@@ -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);
                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, interval_float);
        }
 done:
        outp += sprintf(outp, "\n");