* perf test unwind failing
@ 2015-11-26 20:45 Arnaldo Carvalho de Melo
2015-11-27 8:21 ` Jiri Olsa
0 siblings, 1 reply; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-11-26 20:45 UTC (permalink / raw)
To: Jiri Olsa; +Cc: Namhyung Kim, Linux Kernel Mailing List
Jiri,
Can you take a look at 'perf test unwind'? It is failing in my
perf/core branch, no time to bisect that now.
[root@zoo ~]# perf test unwind
40: Test dwarf unwind : FAILED!
- Arnaldo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: perf test unwind failing
2015-11-26 20:45 perf test unwind failing Arnaldo Carvalho de Melo
@ 2015-11-27 8:21 ` Jiri Olsa
2015-11-27 16:03 ` Arnaldo Carvalho de Melo
2015-11-29 7:55 ` [tip:perf/core] perf test: 'unwind' test should create kernel maps tip-bot for Jiri Olsa
0 siblings, 2 replies; 6+ messages in thread
From: Jiri Olsa @ 2015-11-27 8:21 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Jiri Olsa, Namhyung Kim, Linux Kernel Mailing List,
masami.hiramatsu.pt, David Ahern
On Thu, Nov 26, 2015 at 05:45:59PM -0300, Arnaldo Carvalho de Melo wrote:
> Jiri,
>
> Can you take a look at 'perf test unwind'? It is failing in my
> perf/core branch, no time to bisect that now.
>
> [root@zoo ~]# perf test unwind
> 40: Test dwarf unwind : FAILED!
(gdb) set follow-fork-mode child
(gdb) r test dwarf
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff7fd2780 (LWP 29735)]
0x00000000004ac953 in map__kmap (map=map@entry=0x7ffff7ffe4a0) at util/map.c:839
839 if (!map->dso || !map->dso->kernel) {
(gdb) bt
#0 0x00000000004ac953 in map__kmap (map=map@entry=0x7ffff7ffe4a0) at util/map.c:839
#1 0x00000000004a97a2 in machine__destroy_kernel_maps (machine=machine@entry=0x7fffffffdb80) at util/machine.c:807
#2 0x00000000004a9861 in machine__exit (machine=machine@entry=0x7fffffffdb80) at util/machine.c:125
#3 0x0000000000477669 in test__dwarf_unwind (subtest=<optimized out>) at tests/dwarf-unwind.c:197
#4 0x000000000045a128 in run_test (test=test@entry=0x888470 <arch_tests+80>, subtest=subtest@entry=-1) at tests/builtin-test.c:241
#5 0x000000000045a201 in test_and_print (t=t@entry=0x888470 <arch_tests+80>, force_skip=force_skip@entry=false, subtest=subtest@entry=-1)
at tests/builtin-test.c:268
#6 0x000000000045a42b in __cmd_test (argc=argc@entry=1, argv=argv@entry=0x7fffffffe3d0, skiplist=0x0) at tests/builtin-test.c:324
#7 0x000000000045a707 in cmd_test (argc=1, argv=0x7fffffffe3d0, prefix=<optimized out>) at tests/builtin-test.c:416
#8 0x00000000004782b0 in run_builtin (p=p@entry=0x885d98 <commands+504>, argc=argc@entry=2, argv=argv@entry=0x7fffffffe3d0) at perf.c:387
#9 0x00000000004784ad in handle_internal_command (argc=2, argv=0x7fffffffe3d0) at perf.c:448
#10 0x0000000000478518 in run_argv (argcp=argcp@entry=0x7fffffffe23c, argv=argv@entry=0x7fffffffe230) at perf.c:492
#11 0x0000000000478789 in main (argc=2, argv=0x7fffffffe3d0) at perf.c:609
(gdb) q
it's caused by following commit:
commit ebe9729c8c3171aa46ad5d7af40acdc29806689d
Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Date: Wed Nov 18 15:40:24 2015 +0900
it kind of assumes that __machine__create_kernel_maps is called on
machine, but we don't do that in the tests/dwarf-unwind.c,
only following initialization:
machines__init(&machines);
machine = machines__find(&machines, HOST_KERNEL_ID);
if (!machine) {
pr_err("Could not get machine\n");
return -1;
}
we could call machine__create_kernel_maps right here to fix the issue,
(please check attached patch), but I wonder what's the proper interface
we want to have for creating machine..
thanks,
jirka
---
diff --git a/tools/perf/tests/dwarf-unwind.c b/tools/perf/tests/dwarf-unwind.c
index b2357e8115a2..3cce13b19cbb 100644
--- a/tools/perf/tests/dwarf-unwind.c
+++ b/tools/perf/tests/dwarf-unwind.c
@@ -173,6 +173,11 @@ int test__dwarf_unwind(int subtest __maybe_unused)
return -1;
}
+ if (machine__create_kernel_maps(machine)) {
+ pr_err("Failed to create kernel maps\n");
+ return -1;
+ }
+
callchain_param.record_mode = CALLCHAIN_DWARF;
if (init_live_machine(machine)) {
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: perf test unwind failing
2015-11-27 8:21 ` Jiri Olsa
@ 2015-11-27 16:03 ` Arnaldo Carvalho de Melo
2015-11-27 16:17 ` Arnaldo Carvalho de Melo
2015-11-29 7:55 ` [tip:perf/core] perf test: 'unwind' test should create kernel maps tip-bot for Jiri Olsa
1 sibling, 1 reply; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-11-27 16:03 UTC (permalink / raw)
To: Jiri Olsa
Cc: Jiri Olsa, Namhyung Kim, Linux Kernel Mailing List,
masami.hiramatsu.pt, David Ahern
Em Fri, Nov 27, 2015 at 09:21:21AM +0100, Jiri Olsa escreveu:
> On Thu, Nov 26, 2015 at 05:45:59PM -0300, Arnaldo Carvalho de Melo wrote:
> > Can you take a look at 'perf test unwind'? It is failing in my
> > perf/core branch, no time to bisect that now.
> >
> > [root@zoo ~]# perf test unwind
> > 40: Test dwarf unwind : FAILED!
>
> (gdb) set follow-fork-mode child
> (gdb) r test dwarf
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7ffff7fd2780 (LWP 29735)]
> 0x00000000004ac953 in map__kmap (map=map@entry=0x7ffff7ffe4a0) at util/map.c:839
> 839 if (!map->dso || !map->dso->kernel) {
> (gdb) bt
> #0 0x00000000004ac953 in map__kmap (map=map@entry=0x7ffff7ffe4a0) at util/map.c:839
> #1 0x00000000004a97a2 in machine__destroy_kernel_maps (machine=machine@entry=0x7fffffffdb80) at util/machine.c:807
> #2 0x00000000004a9861 in machine__exit (machine=machine@entry=0x7fffffffdb80) at util/machine.c:125
> #3 0x0000000000477669 in test__dwarf_unwind (subtest=<optimized out>) at tests/dwarf-unwind.c:197
> #4 0x000000000045a128 in run_test (test=test@entry=0x888470 <arch_tests+80>, subtest=subtest@entry=-1) at tests/builtin-test.c:241
> #5 0x000000000045a201 in test_and_print (t=t@entry=0x888470 <arch_tests+80>, force_skip=force_skip@entry=false, subtest=subtest@entry=-1)
> at tests/builtin-test.c:268
> #6 0x000000000045a42b in __cmd_test (argc=argc@entry=1, argv=argv@entry=0x7fffffffe3d0, skiplist=0x0) at tests/builtin-test.c:324
> #7 0x000000000045a707 in cmd_test (argc=1, argv=0x7fffffffe3d0, prefix=<optimized out>) at tests/builtin-test.c:416
> #8 0x00000000004782b0 in run_builtin (p=p@entry=0x885d98 <commands+504>, argc=argc@entry=2, argv=argv@entry=0x7fffffffe3d0) at perf.c:387
> #9 0x00000000004784ad in handle_internal_command (argc=2, argv=0x7fffffffe3d0) at perf.c:448
> #10 0x0000000000478518 in run_argv (argcp=argcp@entry=0x7fffffffe23c, argv=argv@entry=0x7fffffffe230) at perf.c:492
> #11 0x0000000000478789 in main (argc=2, argv=0x7fffffffe3d0) at perf.c:609
> (gdb) q
>
>
> it's caused by following commit:
> commit ebe9729c8c3171aa46ad5d7af40acdc29806689d
> Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
> Date: Wed Nov 18 15:40:24 2015 +0900
Humm, affects just machine__exit(), how could it cause problems here?
> it kind of assumes that __machine__create_kernel_maps is called ono
> machine, but we don't do that in the tests/dwarf-unwind.c,
Must be some other patch (see below).
> only following initialization:
>
> machines__init(&machines);
Well, if you want to deal with a machine that supports a kernel, then
you need to create the kernel maps, if all you want to do is to deal
with userspace samples, why would you spend time on that?
> machine = machines__find(&machines, HOST_KERNEL_ID);
> if (!machine) {
> pr_err("Could not get machine\n");
> return -1;
> }
>
>
> we could call machine__create_kernel_maps right here to fix the issue,
> (please check attached patch), but I wonder what's the proper interface
> we want to have for creating machine..
See above.
After reading the patch I see why you refer to that patch, it is just
that at machine__exit() one should free the kernel maps if they were
created, so it calls machine__destroy_kernel_maps(), and that will check
if the maps were allocated, if not, nothing will be done.
Anyway, I applied your patch, it fixes the problem, thanks!
- Arnaldo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: perf test unwind failing
2015-11-27 16:03 ` Arnaldo Carvalho de Melo
@ 2015-11-27 16:17 ` Arnaldo Carvalho de Melo
2015-11-29 20:13 ` Jiri Olsa
0 siblings, 1 reply; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-11-27 16:17 UTC (permalink / raw)
To: Jiri Olsa
Cc: Jiri Olsa, Namhyung Kim, Linux Kernel Mailing List,
masami.hiramatsu.pt, David Ahern
Em Fri, Nov 27, 2015 at 01:03:11PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Nov 27, 2015 at 09:21:21AM +0100, Jiri Olsa escreveu:
> > On Thu, Nov 26, 2015 at 05:45:59PM -0300, Arnaldo Carvalho de Melo wrote:
> > > Can you take a look at 'perf test unwind'? It is failing in my
> > > perf/core branch, no time to bisect that now.
> See above.
>
> After reading the patch I see why you refer to that patch, it is just
> that at machine__exit() one should free the kernel maps if they were
> created, so it calls machine__destroy_kernel_maps(), and that will check
> if the maps were allocated, if not, nothing will be done.
>
> Anyway, I applied your patch, it fixes the problem, thanks!
Applied this one to my local tree:
>From 9bdcede563a831f139b5fc872f028ef844a7462e Mon Sep 17 00:00:00 2001
From: Jiri Olsa <jolsa@redhat.com>
Date: Fri, 27 Nov 2015 09:21:21 +0100
Subject: [PATCH 1/1] perf test: 'unwind' test should create kernel maps
The 'perf test unwind' is failing because it forgot to create the kernel
maps, fix it.
After the patch:
# perf test unwind
40: Test dwarf unwind : Ok
Reported-and-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/20151127082121.GA24503@krava.brq.redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/dwarf-unwind.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/perf/tests/dwarf-unwind.c b/tools/perf/tests/dwarf-unwind.c
index b2357e8115a2..3cce13b19cbb 100644
--- a/tools/perf/tests/dwarf-unwind.c
+++ b/tools/perf/tests/dwarf-unwind.c
@@ -173,6 +173,11 @@ int test__dwarf_unwind(int subtest __maybe_unused)
return -1;
}
+ if (machine__create_kernel_maps(machine)) {
+ pr_err("Failed to create kernel maps\n");
+ return -1;
+ }
+
callchain_param.record_mode = CALLCHAIN_DWARF;
if (init_live_machine(machine)) {
--
2.1.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:perf/core] perf test: 'unwind' test should create kernel maps
2015-11-27 8:21 ` Jiri Olsa
2015-11-27 16:03 ` Arnaldo Carvalho de Melo
@ 2015-11-29 7:55 ` tip-bot for Jiri Olsa
1 sibling, 0 replies; 6+ messages in thread
From: tip-bot for Jiri Olsa @ 2015-11-29 7:55 UTC (permalink / raw)
To: linux-tip-commits
Cc: jolsa, acme, mingo, tglx, masami.hiramatsu.pt, dsahern,
linux-kernel, hpa, namhyung
Commit-ID: 9bdcede563a831f139b5fc872f028ef844a7462e
Gitweb: http://git.kernel.org/tip/9bdcede563a831f139b5fc872f028ef844a7462e
Author: Jiri Olsa <jolsa@redhat.com>
AuthorDate: Fri, 27 Nov 2015 09:21:21 +0100
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 27 Nov 2015 13:14:26 -0300
perf test: 'unwind' test should create kernel maps
The 'perf test unwind' is failing because it forgot to create the kernel
maps, fix it.
After the patch:
# perf test unwind
40: Test dwarf unwind : Ok
Reported-and-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/20151127082121.GA24503@krava.brq.redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/dwarf-unwind.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tools/perf/tests/dwarf-unwind.c b/tools/perf/tests/dwarf-unwind.c
index b2357e8..3cce13b1 100644
--- a/tools/perf/tests/dwarf-unwind.c
+++ b/tools/perf/tests/dwarf-unwind.c
@@ -173,6 +173,11 @@ int test__dwarf_unwind(int subtest __maybe_unused)
return -1;
}
+ if (machine__create_kernel_maps(machine)) {
+ pr_err("Failed to create kernel maps\n");
+ return -1;
+ }
+
callchain_param.record_mode = CALLCHAIN_DWARF;
if (init_live_machine(machine)) {
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: perf test unwind failing
2015-11-27 16:17 ` Arnaldo Carvalho de Melo
@ 2015-11-29 20:13 ` Jiri Olsa
0 siblings, 0 replies; 6+ messages in thread
From: Jiri Olsa @ 2015-11-29 20:13 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Jiri Olsa, Namhyung Kim, Linux Kernel Mailing List,
masami.hiramatsu.pt, David Ahern
On Fri, Nov 27, 2015 at 01:17:40PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Fri, Nov 27, 2015 at 01:03:11PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Fri, Nov 27, 2015 at 09:21:21AM +0100, Jiri Olsa escreveu:
> > > On Thu, Nov 26, 2015 at 05:45:59PM -0300, Arnaldo Carvalho de Melo wrote:
> > > > Can you take a look at 'perf test unwind'? It is failing in my
> > > > perf/core branch, no time to bisect that now.
> > See above.
> >
> > After reading the patch I see why you refer to that patch, it is just
> > that at machine__exit() one should free the kernel maps if they were
> > created, so it calls machine__destroy_kernel_maps(), and that will check
> > if the maps were allocated, if not, nothing will be done.
> >
> > Anyway, I applied your patch, it fixes the problem, thanks!
>
> Applied this one to my local tree:
cool, thanks
jirka
>
> From 9bdcede563a831f139b5fc872f028ef844a7462e Mon Sep 17 00:00:00 2001
> From: Jiri Olsa <jolsa@redhat.com>
> Date: Fri, 27 Nov 2015 09:21:21 +0100
> Subject: [PATCH 1/1] perf test: 'unwind' test should create kernel maps
>
> The 'perf test unwind' is failing because it forgot to create the kernel
> maps, fix it.
>
> After the patch:
>
> # perf test unwind
> 40: Test dwarf unwind : Ok
>
> Reported-and-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> Signed-off-by: Jiri Olsa <jolsa@redhat.com>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Link: http://lkml.kernel.org/r/20151127082121.GA24503@krava.brq.redhat.com
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
> tools/perf/tests/dwarf-unwind.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/tools/perf/tests/dwarf-unwind.c b/tools/perf/tests/dwarf-unwind.c
> index b2357e8115a2..3cce13b19cbb 100644
> --- a/tools/perf/tests/dwarf-unwind.c
> +++ b/tools/perf/tests/dwarf-unwind.c
> @@ -173,6 +173,11 @@ int test__dwarf_unwind(int subtest __maybe_unused)
> return -1;
> }
>
> + if (machine__create_kernel_maps(machine)) {
> + pr_err("Failed to create kernel maps\n");
> + return -1;
> + }
> +
> callchain_param.record_mode = CALLCHAIN_DWARF;
>
> if (init_live_machine(machine)) {
> --
> 2.1.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-11-29 20:13 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-26 20:45 perf test unwind failing Arnaldo Carvalho de Melo
2015-11-27 8:21 ` Jiri Olsa
2015-11-27 16:03 ` Arnaldo Carvalho de Melo
2015-11-27 16:17 ` Arnaldo Carvalho de Melo
2015-11-29 20:13 ` Jiri Olsa
2015-11-29 7:55 ` [tip:perf/core] perf test: 'unwind' test should create kernel maps tip-bot for Jiri Olsa
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.