The macro DISPLAY_HITM() is used to calculate HITM percentage introduced by every node and it's shown for the node info.
This patch refactors the macro, it is renamed it as DISPLAY_METRICS(). And the parameters is changed for passing the metric's statistic value and the sum value, this is flexsible for later's extension, e.g. it's easier to be used for metrics which combines multiple fields from structure c2c_stats. Signed-off-by: Leo Yan <leo....@linaro.org> --- tools/perf/builtin-c2c.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c index f11c3c84bb2b..50018bfb1089 100644 --- a/tools/perf/builtin-c2c.c +++ b/tools/perf/builtin-c2c.c @@ -1324,23 +1324,26 @@ node_entry(struct perf_hpp_fmt *fmt __maybe_unused, struct perf_hpp *hpp, ret = scnprintf(hpp->buf, hpp->size, "%2d{%2d ", node, num); advance_hpp(hpp, ret); - #define DISPLAY_HITM(__h) \ - if (c2c_he->stats.__h> 0) { \ + #define DISPLAY_METRICS(val, sum) \ + { \ + if ((sum) > 0) { \ ret = scnprintf(hpp->buf, hpp->size, "%5.1f%% ", \ - percent(stats->__h, c2c_he->stats.__h));\ + percent((val), (sum))); \ } else { \ ret = scnprintf(hpp->buf, hpp->size, "%6s ", "n/a"); \ - } + } \ + } switch (c2c.display) { case DISPLAY_RMT: - DISPLAY_HITM(rmt_hitm); + DISPLAY_METRICS(stats->rmt_hitm, c2c_he->stats.rmt_hitm); break; case DISPLAY_LCL: - DISPLAY_HITM(lcl_hitm); + DISPLAY_METRICS(stats->lcl_hitm, c2c_he->stats.lcl_hitm); break; case DISPLAY_TOT: - DISPLAY_HITM(tot_hitm); + DISPLAY_METRICS(stats->tot_hitm, c2c_he->stats.tot_hitm); + break; default: break; } -- 2.17.1