[PATCH v2 07/11] perf c2c: Refactor node display macro

From: Leo Yan
Date: Sun Dec 13 2020 - 08:42:12 EST


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.yan@xxxxxxxxxx>
---
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