Messages in this thread |  | | From | Namhyung Kim <> | Subject | Re: [PATCH 3/8] perf report: Add --percentage option | Date | Mon, 24 Feb 2014 15:37:14 +0900 |
| |
Hi Jiri,
On Thu, 20 Feb 2014 11:39:50 +0100, Jiri Olsa wrote: > On Mon, Feb 10, 2014 at 11:47:20AM +0900, Namhyung Kim wrote: >> The --percentage option is for controlling overhead percentage >> displayed. It can only receive either of "relative" or "absolute". >> >> "relative" means it's relative to filtered entries only so that the >> sum of shown entries will be always 100%. "absolute" means it retains >> the original value before and after the filter is applied. > > SNIP > >> diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c >> index 78f4c92e9b73..714f3f00ea55 100644 >> --- a/tools/perf/ui/hist.c >> +++ b/tools/perf/ui/hist.c >> @@ -21,10 +21,13 @@ static int __hpp__fmt(struct perf_hpp *hpp, struct hist_entry *he, >> >> if (fmt_percent) { >> double percent = 0.0; >> + u64 total = hists->stats.total_period; >> >> - if (hists->stats.total_period) >> - percent = 100.0 * get_field(he) / >> - hists->stats.total_period; >> + if (symbol_conf.filter_relative) >> + total = hists->stats.total_filtered_period; >> + >> + if (total) >> + percent = 100.0 * get_field(he) / total; >> >> ret = print_fn(hpp->buf, hpp->size, fmt, percent); >> } else >> @@ -41,6 +44,9 @@ static int __hpp__fmt(struct perf_hpp *hpp, struct hist_entry *he, >> u64 period = get_field(pair); >> u64 total = pair->hists->stats.total_period; >> >> + if (symbol_conf.filter_relative) >> + total = pair->hists->stats.total_filtered_period; >> + >> if (!total) >> continue; > > looks like we could use something like: > > perf_hists__total_period(hists) > { > u64 total = hists->stats.total_period; > > if (symbol_conf.filter_relative) > total = hists->stats.total_filtered_period; > > return total; > } > > probably on other places as well
Right! Will change.
Thanks, Namhyung
|  |