Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b35994a authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf diff: Add diff.compute config option



The diff.compute config variable is to set the default compute method of
perf diff command (-c option).  Possible values 'delta' (default),
'delta-abs', 'ratio' and 'wdiff'.

Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Taeung Song <treeze.taeung@gmail.com>
Link: http://lkml.kernel.org/r/20170210073614.24584-4-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent d49dd15d
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -505,6 +505,11 @@ diff.*::
		Setting it to 1 will sort the result by delta (or other
		compute method selected).

	diff.compute::
		This options sets the method for computing the diff result.
		Possible values are 'delta', 'delta-abs', 'ratio' and
		'wdiff'.  Default is 'delta'.

SEE ALSO
--------
linkperf:perf[1]
+3 −2
Original line number Diff line number Diff line
@@ -86,8 +86,9 @@ OPTIONS

-c::
--compute::
        Differential computation selection - delta,ratio,wdiff,delta-abs (default is delta).
        See COMPARISON METHODS section for more info.
        Differential computation selection - delta, ratio, wdiff, delta-abs
        (default is delta).  Default can be changed using diff.compute
        config option.  See COMPARISON METHODS section for more info.

-p::
--period::
+15 −1
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ const char *compute_names[COMPUTE_MAX] = {
	[COMPUTE_WEIGHTED_DIFF] = "wdiff",
};

static int compute;
static int compute = COMPUTE_DELTA;

static int compute_2_hpp[COMPUTE_MAX] = {
	[COMPUTE_DELTA]		= PERF_HPP_DIFF__DELTA,
@@ -1299,6 +1299,20 @@ static int diff__config(const char *var, const char *value,
		sort_compute = perf_config_int(var, value);
		return 0;
	}
	if (!strcmp(var, "diff.compute")) {
		if (!strcmp(value, "delta")) {
			compute = COMPUTE_DELTA;
		} else if (!strcmp(value, "delta-abs")) {
			compute = COMPUTE_DELTA_ABS;
		} else if (!strcmp(value, "ratio")) {
			compute = COMPUTE_RATIO;
		} else if (!strcmp(value, "wdiff")) {
			compute = COMPUTE_WEIGHTED_DIFF;
		} else {
			pr_err("Invalid compute method: %s\n", value);
			return -1;
		}
	}

	return 0;
}