Re: [PATCH 5/8] perf diff: Add --percentage option

From: Jiri Olsa
Date: Thu Feb 20 2014 - 05:48:11 EST


On Mon, Feb 10, 2014 at 11:47:22AM +0900, Namhyung Kim wrote:
> The --percentage option is for controlling overhead percentage
> displayed. It can only receive either of "relative" or "absolute" and
> affects -c delta output only.
>
> For more information, please see previous commit same thing done to
> "perf report".
>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---

SNIP

> ~~~~~
> If specified the 'Ratio' column is displayed with value 'r' computed as:
> diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
> index a77e31246c00..2c7406d9eb5d 100644
> --- a/tools/perf/builtin-diff.c
> +++ b/tools/perf/builtin-diff.c
> @@ -221,6 +221,10 @@ static int setup_compute(const struct option *opt, const char *str,
> static double period_percent(struct hist_entry *he, u64 period)
> {
> u64 total = he->hists->stats.total_period;
> +
> + if (symbol_conf.filter_relative)
> + total = he->hists->stats.total_filtered_period;
> +
> return (period * 100.0) / total;

yet another perf_hists__total_period user

> }
>
> @@ -259,11 +263,18 @@ static s64 compute_wdiff(struct hist_entry *he, struct hist_entry *pair)
> static int formula_delta(struct hist_entry *he, struct hist_entry *pair,
> char *buf, size_t size)
> {
> + u64 he_total = he->hists->stats.total_period;
> + u64 pair_total = pair->hists->stats.total_period;

SNIP

>
> static double baseline_percent(struct hist_entry *he)
> {
> struct hists *hists = he->hists;
> - return 100.0 * he->stat.period / hists->stats.total_period;
> + u64 total = hists->stats.total_period;
> +
> + if (symbol_conf.filter_relative)
> + total = hists->stats.total_filtered_period;
> +
> + return 100.0 * he->stat.period / total;
> }

and another ;-)

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/