Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1654149 > unrolled thread
| Started by | Jiri Olsa <jolsa@kernel.org> |
|---|---|
| First post | 2017-05-31 13:40 +0200 |
| Last post | 2017-06-07 18:00 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] perf trace: Add mmap alias for s390 Jiri Olsa <jolsa@kernel.org> - 2017-05-31 13:40 +0200
Re: [PATCH] perf trace: Add mmap alias for s390 Arnaldo Carvalho de Melo <acme@kernel.org> - 2017-06-01 15:20 +0200
[tip:perf/urgent] perf trace: Add mmap alias for s390 tip-bot for Jiri Olsa <tipbot@zytor.com> - 2017-06-07 18:00 +0200
| From | Jiri Olsa <jolsa@kernel.org> |
|---|---|
| Date | 2017-05-31 13:40 +0200 |
| Subject | [PATCH] perf trace: Add mmap alias for s390 |
| Message-ID | <tNa8N-48w-13@gated-at.bofh.it> |
The s390 architecture maps sys_mmap (nr 90) into sys_old_mmap.
For this reason perf trace can't find the proper syscall event
to get args format from and displays it wrong as 'continued'.
To fix that fill "alias" field with "old_mmap" for trace's mmap
record to get the correct translation.
Before:
0.042 ( 0.011 ms): vest/43052 fstat(statbuf: 0x3ffff89fd90 ) = 0
0.042 ( 0.028 ms): vest/43052 ... [continued]: mmap()) = 0x3fffd6e2000
0.072 ( 0.025 ms): vest/43052 read(buf: 0x3fffd6e2000, count: 4096 ) = 6
After:
0.045 ( 0.011 ms): fstat(statbuf: 0x3ffff8a0930 ) = 0
0.057 ( 0.018 ms): mmap(arg: 0x3ffff8a0858 ) = 0x3fffd14a000
0.076 ( 0.025 ms): read(buf: 0x3fffd14a000, count: 4096 ) = 6
Link: http://lkml.kernel.org/n/tip-3jrfsbpclxr1ftke2t9rpvy6@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
tools/perf/builtin-trace.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index d014350adc52..4b2a5d298197 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -681,6 +681,10 @@ static struct syscall_fmt {
{ .name = "mlockall", .errmsg = true,
.arg_scnprintf = { [0] = SCA_HEX, /* addr */ }, },
{ .name = "mmap", .hexret = true,
+/* The standard mmap maps to old_mmap on s390x */
+#if defined(__s390x__)
+ .alias = "old_mmap",
+#endif
.arg_scnprintf = { [0] = SCA_HEX, /* addr */
[2] = SCA_MMAP_PROT, /* prot */
[3] = SCA_MMAP_FLAGS, /* flags */ }, },
--
2.9.4
[toc] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2017-06-01 15:20 +0200 |
| Message-ID | <tNyb8-32h-31@gated-at.bofh.it> |
| In reply to | #1654149 |
Em Wed, May 31, 2017 at 01:35:57PM +0200, Jiri Olsa escreveu:
> The s390 architecture maps sys_mmap (nr 90) into sys_old_mmap.
> For this reason perf trace can't find the proper syscall event
> to get args format from and displays it wrong as 'continued'.
>
> To fix that fill "alias" field with "old_mmap" for trace's mmap
> record to get the correct translation.
Ok, I'll add this, but at some point we'll need to do this by looking at
the perf.data header when cross-tracing on a non-live, perf.data based
setup.
- Arnaldo
> Before:
> 0.042 ( 0.011 ms): vest/43052 fstat(statbuf: 0x3ffff89fd90 ) = 0
> 0.042 ( 0.028 ms): vest/43052 ... [continued]: mmap()) = 0x3fffd6e2000
> 0.072 ( 0.025 ms): vest/43052 read(buf: 0x3fffd6e2000, count: 4096 ) = 6
>
> After:
> 0.045 ( 0.011 ms): fstat(statbuf: 0x3ffff8a0930 ) = 0
> 0.057 ( 0.018 ms): mmap(arg: 0x3ffff8a0858 ) = 0x3fffd14a000
> 0.076 ( 0.025 ms): read(buf: 0x3fffd14a000, count: 4096 ) = 6
>
> Link: http://lkml.kernel.org/n/tip-3jrfsbpclxr1ftke2t9rpvy6@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
> tools/perf/builtin-trace.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> index d014350adc52..4b2a5d298197 100644
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@ -681,6 +681,10 @@ static struct syscall_fmt {
> { .name = "mlockall", .errmsg = true,
> .arg_scnprintf = { [0] = SCA_HEX, /* addr */ }, },
> { .name = "mmap", .hexret = true,
> +/* The standard mmap maps to old_mmap on s390x */
> +#if defined(__s390x__)
> + .alias = "old_mmap",
> +#endif
> .arg_scnprintf = { [0] = SCA_HEX, /* addr */
> [2] = SCA_MMAP_PROT, /* prot */
> [3] = SCA_MMAP_FLAGS, /* flags */ }, },
> --
> 2.9.4
[toc] | [prev] | [next] | [standalone]
| From | tip-bot for Jiri Olsa <tipbot@zytor.com> |
|---|---|
| Date | 2017-06-07 18:00 +0200 |
| Subject | [tip:perf/urgent] perf trace: Add mmap alias for s390 |
| Message-ID | <tPLxg-8U-17@gated-at.bofh.it> |
| In reply to | #1654149 |
Commit-ID: 54265664c15a68905d8d67d19205e9a767636434
Gitweb: http://git.kernel.org/tip/54265664c15a68905d8d67d19205e9a767636434
Author: Jiri Olsa <jolsa@kernel.org>
AuthorDate: Wed, 31 May 2017 13:35:57 +0200
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 1 Jun 2017 10:13:21 -0300
perf trace: Add mmap alias for s390
The s390 architecture maps sys_mmap (nr 90) into sys_old_mmap. For this
reason perf trace can't find the proper syscall event to get args format
from and displays it wrongly as 'continued'.
To fix that fill the "alias" field with "old_mmap" for trace's mmap record
to get the correct translation.
Before:
0.042 ( 0.011 ms): vest/43052 fstat(statbuf: 0x3ffff89fd90 ) = 0
0.042 ( 0.028 ms): vest/43052 ... [continued]: mmap()) = 0x3fffd6e2000
0.072 ( 0.025 ms): vest/43052 read(buf: 0x3fffd6e2000, count: 4096 ) = 6
After:
0.045 ( 0.011 ms): fstat(statbuf: 0x3ffff8a0930 ) = 0
0.057 ( 0.018 ms): mmap(arg: 0x3ffff8a0858 ) = 0x3fffd14a000
0.076 ( 0.025 ms): read(buf: 0x3fffd14a000, count: 4096 ) = 6
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20170531113557.19175-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-trace.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index d014350..4b2a5d2 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -681,6 +681,10 @@ static struct syscall_fmt {
{ .name = "mlockall", .errmsg = true,
.arg_scnprintf = { [0] = SCA_HEX, /* addr */ }, },
{ .name = "mmap", .hexret = true,
+/* The standard mmap maps to old_mmap on s390x */
+#if defined(__s390x__)
+ .alias = "old_mmap",
+#endif
.arg_scnprintf = { [0] = SCA_HEX, /* addr */
[2] = SCA_MMAP_PROT, /* prot */
[3] = SCA_MMAP_FLAGS, /* flags */ }, },
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web