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

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.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent d49dd15d
...@@ -505,6 +505,11 @@ diff.*:: ...@@ -505,6 +505,11 @@ diff.*::
Setting it to 1 will sort the result by delta (or other Setting it to 1 will sort the result by delta (or other
compute method selected). 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 SEE ALSO
-------- --------
linkperf:perf[1] linkperf:perf[1]
...@@ -86,8 +86,9 @@ OPTIONS ...@@ -86,8 +86,9 @@ OPTIONS
-c:: -c::
--compute:: --compute::
Differential computation selection - delta,ratio,wdiff,delta-abs (default is delta). Differential computation selection - delta, ratio, wdiff, delta-abs
See COMPARISON METHODS section for more info. (default is delta). Default can be changed using diff.compute
config option. See COMPARISON METHODS section for more info.
-p:: -p::
--period:: --period::
......
...@@ -86,7 +86,7 @@ const char *compute_names[COMPUTE_MAX] = { ...@@ -86,7 +86,7 @@ const char *compute_names[COMPUTE_MAX] = {
[COMPUTE_WEIGHTED_DIFF] = "wdiff", [COMPUTE_WEIGHTED_DIFF] = "wdiff",
}; };
static int compute; static int compute = COMPUTE_DELTA;
static int compute_2_hpp[COMPUTE_MAX] = { static int compute_2_hpp[COMPUTE_MAX] = {
[COMPUTE_DELTA] = PERF_HPP_DIFF__DELTA, [COMPUTE_DELTA] = PERF_HPP_DIFF__DELTA,
...@@ -1299,6 +1299,20 @@ static int diff__config(const char *var, const char *value, ...@@ -1299,6 +1299,20 @@ static int diff__config(const char *var, const char *value,
sort_compute = perf_config_int(var, value); sort_compute = perf_config_int(var, value);
return 0; 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; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment