浏览代码

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: Len Brown <len.brown@intel.com>
Len Brown 9 年之前
父节点
当前提交
e975db5d52
共有 1 个文件被更改,包括 1 次插入5 次删除
  1. 1 5
      tools/power/x86/turbostat/turbostat.c

+ 1 - 5
tools/power/x86/turbostat/turbostat.c

@@ -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,
 	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,
 			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");