Messages in this thread | | | From | Namhyung Kim <> | Date | Wed, 6 Jan 2021 16:47:00 +0900 | Subject | Re: [PATCH v2 06/11] perf c2c: Refactor display filter macro |
| |
On Sun, Dec 13, 2020 at 10:39 PM Leo Yan <leo.yan@linaro.org> wrote: > > When sort on the respective metrics (lcl_hitm, rmt_hitm, tot_hitm), > macro FILTER_HITM is to filter out the cache line entries if its > overhead is less than 1%. > > This patch is to refactor macro FILTER_HITM. It uses more gernal name > FILTER_DISPLAY to replace the old name; and refines its parameter, > rather than passing field name for the data structure, it changes to > pass the cache line's statistic value and the sum value, this is more > flexsible, e.g. if consider to extend for sorting on all load hits > which combines multiple fields from structure c2c_stats.
As it doesn't use field names anymore, I think it's better to change it to a static function.
Thanks, Namhyung
> > Signed-off-by: Leo Yan <leo.yan@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 5cd30c083d6c..f11c3c84bb2b 100644 > --- a/tools/perf/builtin-c2c.c > +++ b/tools/perf/builtin-c2c.c > @@ -2151,24 +2151,27 @@ static bool he__display(struct hist_entry *he, struct c2c_stats *stats) > > c2c_he = container_of(he, struct c2c_hist_entry, he); > > -#define FILTER_HITM(__h) \ > - if (stats->__h) { \ > - ld_dist = ((double)c2c_he->stats.__h / stats->__h); \ > +#define FILTER_DISPLAY(val, sum) \ > +{ \ > + if ((sum)) { \ > + ld_dist = ((double)(val) / (sum)); \ > if (ld_dist < DISPLAY_LINE_LIMIT) \ > he->filtered = HIST_FILTER__C2C; \ > } else { \ > he->filtered = HIST_FILTER__C2C; \ > - } > + } \ > +} > > switch (c2c.display) { > case DISPLAY_LCL: > - FILTER_HITM(lcl_hitm); > + FILTER_DISPLAY(c2c_he->stats.lcl_hitm, stats->lcl_hitm); > break; > case DISPLAY_RMT: > - FILTER_HITM(rmt_hitm); > + FILTER_DISPLAY(c2c_he->stats.rmt_hitm, stats->rmt_hitm); > break; > case DISPLAY_TOT: > - FILTER_HITM(tot_hitm); > + FILTER_DISPLAY(c2c_he->stats.tot_hitm, stats->tot_hitm); > + break; > default: > break; > } > -- > 2.17.1 >
| |