* [PATCH 2/3] perf trace: Remove duplicate mmap entry in syscall_fmts array
2013-09-04 18:37 [PATCH 1/3] perf trace: Add option to show full timestamp David Ahern
@ 2013-09-04 18:37 ` David Ahern
2013-10-15 5:21 ` [tip:perf/core] " tip-bot for David Ahern
2013-09-04 18:37 ` [PATCH 3/3] perf trace: Add beautifier for clock_gettime's clk_id argument David Ahern
2013-10-15 5:21 ` [tip:perf/core] perf trace: Add option to show full timestamp tip-bot for David Ahern
2 siblings, 1 reply; 5+ messages in thread
From: David Ahern @ 2013-09-04 18:37 UTC (permalink / raw)
To: acme, linux-kernel
Cc: David Ahern, Adrian Hunter, Frederic Weisbecker, Jiri Olsa,
Mike Galbraith, Paul Mackerras, Peter Zijlstra, Stephane Eranian
Entries in syscall_fmts need to be in alphabetical order, and the
duplicate entry breaks bsearch on new entries around this duplicate
entry.
Signed-off-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
---
tools/perf/builtin-trace.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 9ef489c..b245102 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -442,7 +442,6 @@ static struct syscall_fmt {
{ .name = "arch_prctl", .errmsg = true, .alias = "prctl", },
{ .name = "brk", .hexret = true,
.arg_scnprintf = { [0] = SCA_HEX, /* brk */ }, },
- { .name = "mmap", .hexret = true, },
{ .name = "connect", .errmsg = true, },
{ .name = "fcntl", .errmsg = true,
.arg_scnprintf = { [1] = SCA_STRARRAY, /* cmd */ },
--
1.7.10.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [tip:perf/core] perf trace: Remove duplicate mmap entry in syscall_fmts array
2013-09-04 18:37 ` [PATCH 2/3] perf trace: Remove duplicate mmap entry in syscall_fmts array David Ahern
@ 2013-10-15 5:21 ` tip-bot for David Ahern
0 siblings, 0 replies; 5+ messages in thread
From: tip-bot for David Ahern @ 2013-10-15 5:21 UTC (permalink / raw)
To: linux-tip-commits
Cc: acme, linux-kernel, eranian, paulus, hpa, mingo, peterz, efault,
jolsa, fweisbec, dsahern, adrian.hunter, tglx
Commit-ID: 770480592084d2c114adedfbe6740e345aaf2279
Gitweb: http://git.kernel.org/tip/770480592084d2c114adedfbe6740e345aaf2279
Author: David Ahern <dsahern@gmail.com>
AuthorDate: Wed, 4 Sep 2013 12:37:44 -0600
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 9 Oct 2013 11:10:56 -0300
perf trace: Remove duplicate mmap entry in syscall_fmts array
Entries in syscall_fmts need to be in alphabetical order, and the
duplicate entry breaks bsearch on new entries around this duplicate
entry.
Signed-off-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1378319865-55695-2-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-trace.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index bc21140..903416c 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -461,7 +461,6 @@ static struct syscall_fmt {
{ .name = "arch_prctl", .errmsg = true, .alias = "prctl", },
{ .name = "brk", .hexret = true,
.arg_scnprintf = { [0] = SCA_HEX, /* brk */ }, },
- { .name = "mmap", .hexret = true, },
{ .name = "connect", .errmsg = true, },
{ .name = "fcntl", .errmsg = true,
.arg_scnprintf = { [1] = SCA_STRARRAY, /* cmd */ },
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] perf trace: Add beautifier for clock_gettime's clk_id argument
2013-09-04 18:37 [PATCH 1/3] perf trace: Add option to show full timestamp David Ahern
2013-09-04 18:37 ` [PATCH 2/3] perf trace: Remove duplicate mmap entry in syscall_fmts array David Ahern
@ 2013-09-04 18:37 ` David Ahern
2013-10-15 5:21 ` [tip:perf/core] perf trace: Add option to show full timestamp tip-bot for David Ahern
2 siblings, 0 replies; 5+ messages in thread
From: David Ahern @ 2013-09-04 18:37 UTC (permalink / raw)
To: acme, linux-kernel
Cc: David Ahern, Adrian Hunter, Frederic Weisbecker, Jiri Olsa,
Mike Galbraith, Paul Mackerras, Peter Zijlstra, Stephane Eranian
Before:
0.030 ( 0.002 ms): 2571 clock_gettime(which_clock: 1, tp: 0x7f3b45729cd0 ) = 0
After:
0.030 ( 0.002 ms): 2571 clock_gettime(which_clock: MONOTONIC, tp: 0x7f3b45729cd0 ) = 0
Signed-off-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
---
tools/perf/builtin-trace.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index b245102..f943960 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -428,6 +428,37 @@ static size_t syscall_arg__scnprintf_signum(char *bf, size_t size, struct syscal
#define SCA_SIGNUM syscall_arg__scnprintf_signum
+static size_t
+syscall_arg__scnprintf_clk_gettime(char *bf, size_t size,
+ struct syscall_arg *arg)
+{
+ size_t printed = 0;
+ clockid_t clk_id = arg->val;
+
+ switch (clk_id) {
+#define P_CLOCK_ID(n) case CLOCK_##n: printed = scnprintf(bf, size, #n);
+ P_CLOCK_ID(REALTIME); break;
+#ifdef CLOCK_REALTIME_COARSE
+ P_CLOCK_ID(REALTIME_COARSE); break;
+#endif
+ P_CLOCK_ID(MONOTONIC); break;
+#ifdef CLOCK_MONOTONIC_RAW
+ P_CLOCK_ID(MONOTONIC_RAW); break;
+#endif
+#ifdef CLOCK_MONOTONIC_COARSE
+ P_CLOCK_ID(MONOTONIC_COARSE); break;
+#endif
+ P_CLOCK_ID(PROCESS_CPUTIME_ID); break;
+ P_CLOCK_ID(THREAD_CPUTIME_ID); break;
+#undef P_CLOCK_ID
+ default: printed = scnprintf(bf, size, "%#x", arg); break;
+ }
+
+ return printed;
+}
+
+#define SCA_CLOCK_ID syscall_arg__scnprintf_clk_gettime
+
static struct syscall_fmt {
const char *name;
const char *alias;
@@ -442,6 +473,8 @@ static struct syscall_fmt {
{ .name = "arch_prctl", .errmsg = true, .alias = "prctl", },
{ .name = "brk", .hexret = true,
.arg_scnprintf = { [0] = SCA_HEX, /* brk */ }, },
+ { .name = "clock_gettime", .errmsg = true,
+ .arg_scnprintf = { [0] = SCA_CLOCK_ID, /* clk_id */ }, },
{ .name = "connect", .errmsg = true, },
{ .name = "fcntl", .errmsg = true,
.arg_scnprintf = { [1] = SCA_STRARRAY, /* cmd */ },
--
1.7.10.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [tip:perf/core] perf trace: Add option to show full timestamp
2013-09-04 18:37 [PATCH 1/3] perf trace: Add option to show full timestamp David Ahern
2013-09-04 18:37 ` [PATCH 2/3] perf trace: Remove duplicate mmap entry in syscall_fmts array David Ahern
2013-09-04 18:37 ` [PATCH 3/3] perf trace: Add beautifier for clock_gettime's clk_id argument David Ahern
@ 2013-10-15 5:21 ` tip-bot for David Ahern
2 siblings, 0 replies; 5+ messages in thread
From: tip-bot for David Ahern @ 2013-10-15 5:21 UTC (permalink / raw)
To: linux-tip-commits
Cc: acme, linux-kernel, eranian, paulus, hpa, mingo, peterz, efault,
jolsa, fweisbec, dsahern, adrian.hunter, tglx
Commit-ID: 4bb09192d38ef08f0619667527cabb26354fff89
Gitweb: http://git.kernel.org/tip/4bb09192d38ef08f0619667527cabb26354fff89
Author: David Ahern <dsahern@gmail.com>
AuthorDate: Wed, 4 Sep 2013 12:37:43 -0600
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 9 Oct 2013 11:10:49 -0300
perf trace: Add option to show full timestamp
Current timestamp shown for output is time relative to firt sample. This
patch adds an option to show the absolute perf_clock timestamp which is
useful when comparing output across commands (e.g., perf-trace to
perf-script).
Signed-off-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1378319865-55695-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Documentation/perf-trace.txt | 4 ++++
tools/perf/builtin-trace.c | 7 +++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documentation/perf-trace.txt
index daccd2c..a93e91a 100644
--- a/tools/perf/Documentation/perf-trace.txt
+++ b/tools/perf/Documentation/perf-trace.txt
@@ -78,6 +78,10 @@ the thread executes on the designated CPUs. Default is to monitor all CPUs.
--input
Process events from a given perf data file.
+-T
+--time
+ Print full timestamp rather time relative to first sample.
+
SEE ALSO
--------
linkperf:perf-record[1], linkperf:perf-script[1]
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 7ce036e..bc21140 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -624,6 +624,7 @@ struct trace {
struct perf_record_opts opts;
struct machine host;
u64 base_time;
+ bool full_time;
FILE *output;
unsigned long nr_events;
struct strlist *ev_qualifier;
@@ -1066,7 +1067,7 @@ static int trace__process_sample(struct perf_tool *tool,
if (skip_sample(trace, sample))
return 0;
- if (trace->base_time == 0)
+ if (!trace->full_time && trace->base_time == 0)
trace->base_time = sample->time;
if (handler)
@@ -1195,7 +1196,7 @@ again:
continue;
}
- if (trace->base_time == 0)
+ if (!trace->full_time && trace->base_time == 0)
trace->base_time = sample.time;
if (type != PERF_RECORD_SAMPLE) {
@@ -1433,6 +1434,8 @@ int cmd_trace(int argc, const char **argv, const char *prefix __maybe_unused)
trace__set_duration),
OPT_BOOLEAN(0, "sched", &trace.sched, "show blocking scheduler events"),
OPT_INCR('v', "verbose", &verbose, "be more verbose"),
+ OPT_BOOLEAN('T', "time", &trace.full_time,
+ "Show full timestamp, not time relative to first start"),
OPT_END()
};
int err;
^ permalink raw reply related [flat|nested] 5+ messages in thread