From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Namhyung Kim <namhyung@kernel.org>,
Jiri Olsa <jolsa@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Taeung Song <treeze.taeung@gmail.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 03/15] perf diff: Add diff.order config option
Date: Mon, 13 Feb 2017 22:13:48 -0300 [thread overview]
Message-ID: <20170214011400.13352-4-acme@kernel.org> (raw)
In-Reply-To: <20170214011400.13352-1-acme@kernel.org>
From: Namhyung Kim <namhyung@kernel.org>
In many cases, I need to look at differences between two data so I often
used the -o option to sort the result base on the difference first.
It'd be nice to have a config option to set it by default.
The diff.order config option is to set the default value of -o/--order
option.
Signed-off-by: Namhyung 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-3-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Documentation/perf-config.txt | 7 +++++++
tools/perf/Documentation/perf-diff.txt | 6 +++++-
tools/perf/builtin-diff.c | 14 ++++++++++++++
3 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index 9365b75fd04f..49ab79d662fa 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -498,6 +498,13 @@ record.*::
But if this option is 'no-cache', it will not update the build-id cache.
'skip' skips post-processing and does not update the cache.
+diff.*::
+ diff.order::
+ This option sets the number of columns to sort the result.
+ The default is 0, which means sorting by baseline.
+ Setting it to 1 will sort the result by delta (or other
+ compute method selected).
+
SEE ALSO
--------
linkperf:perf[1]
diff --git a/tools/perf/Documentation/perf-diff.txt b/tools/perf/Documentation/perf-diff.txt
index af80284cd2f6..7c014c9934bb 100644
--- a/tools/perf/Documentation/perf-diff.txt
+++ b/tools/perf/Documentation/perf-diff.txt
@@ -99,7 +99,11 @@ OPTIONS
-o::
--order::
- Specify compute sorting column number.
+ Specify compute sorting column number. 0 means sorting by baseline
+ overhead (default) and 1 means sorting by computed value of column 1
+ (data from the first file other base baseline). Values more than 1
+ can be used only if enough data files are provided.
+ The default value can be set using the diff.order config option.
--percentage::
Determine how to display the overhead percentage of filtered entries.
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index 781c9e60bd21..181ff996e039 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -17,6 +17,7 @@
#include "util/symbol.h"
#include "util/util.h"
#include "util/data.h"
+#include "util/config.h"
#include <stdlib.h>
#include <math.h>
@@ -1291,6 +1292,17 @@ static int data_init(int argc, const char **argv)
return 0;
}
+static int diff__config(const char *var, const char *value,
+ void *cb __maybe_unused)
+{
+ if (!strcmp(var, "diff.order")) {
+ sort_compute = perf_config_int(var, value);
+ return 0;
+ }
+
+ return 0;
+}
+
int cmd_diff(int argc, const char **argv, const char *prefix __maybe_unused)
{
int ret = hists__init();
@@ -1298,6 +1310,8 @@ int cmd_diff(int argc, const char **argv, const char *prefix __maybe_unused)
if (ret < 0)
return ret;
+ perf_config(diff__config, NULL);
+
argc = parse_options(argc, argv, options, diff_usage, 0);
if (symbol__init(NULL) < 0)
--
2.9.3
next prev parent reply other threads:[~2017-02-14 1:14 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-14 1:13 [GIT PULL 00/15] perf/core improvements and fixes Arnaldo Carvalho de Melo
2017-02-14 1:13 ` Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 01/15] tools include: Introduce linux/compiler-gcc.h Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 02/15] perf diff: Add 'delta-abs' compute method Arnaldo Carvalho de Melo
2017-02-14 1:13 ` Arnaldo Carvalho de Melo [this message]
2017-02-14 1:13 ` [PATCH 04/15] perf diff: Add diff.compute config option Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 05/15] perf diff: Change default setting to "delta-abs" Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 06/15] perf scripting perl: Fix compile error with some perl5 versions Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 07/15] tools lib traceevent: Initialize lenght on OLD_RING_BUFFER_TYPE_TIME_STAMP Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 08/15] tools lib traceevent plugin function: Initialize 'index' variable Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 09/15] perf evsel: Inform how to make a sysctl setting permanent Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 10/15] perf symbols: No need to check if sym->name is NULL Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 11/15] perf tests record: No need to test an array against NULL Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 12/15] perf symbols: dso->name is an array, no need to check it " Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 13/15] samples/bpf: Add missing header Arnaldo Carvalho de Melo
2017-02-14 1:13 ` [PATCH 14/15] samples/bpf: Ignore already processed ELF sections Arnaldo Carvalho de Melo
2017-02-14 1:14 ` [PATCH 15/15] samples/bpf: Reset global variables Arnaldo Carvalho de Melo
2017-02-14 6:31 ` [GIT PULL 00/15] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170214011400.13352-4-acme@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=treeze.taeung@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.