[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170614135242.GD32020@kernel.org>
Date: Wed, 14 Jun 2017 10:52:42 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Jiri Olsa <jolsa@...nel.org>
Cc: Ingo Molnar <mingo@...nel.org>, linux-kernel@...r.kernel.org,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Adrian Hunter <adrian.hunter@...el.com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
David Ahern <dsahern@...il.com>,
Namhyung Kim <namhyung@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Wang Nan <wangnan0@...wei.com>
Subject: perf: unwind: target platform=x86 not supported was: Re: [PATCH
1/2] perf evsel: Fix probing of precise_ip level for default cycles event
Em Wed, Jun 14, 2017 at 10:29:47AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Wed, Jun 14, 2017 at 07:45:01AM +0200, Ingo Molnar escreveu:
> > triton:~/tip> perf report --stdio
> > unwind: target platform=x86 is not supported
> > unwind: target platform=x86 is not supported
> > unwind: target platform=x86 is not supported
> > unwind: target platform=x86 is not supported
> > unwind: target platform=x86 is not supported
> > unwind: target platform=x86 is not supported
> > unwind: target platform=x86 is not supported
> > unwind: target platform=x86 is not supported
>
> > # ========
> > # captured on: Wed Jun 14 07:34:42 2017
> > # hostname : triton
> > # os release : 4.10.0-23-generic
> > # perf version : 4.12.rc5.g9688eb
> > # arch : x86_64
> > # nrcpus online : 12
> > # nrcpus avail : 12
> > # cpudesc : Intel(R) Core(TM) i7-4960X CPU @ 3.60GHz
> > # cpuid : GenuineIntel,6,62,4
> > # total memory : 65917012 kB
> > # cmdline : /home/mingo/bin/perf record /home/mingo/hackbench 10
>
> > let me know if you need more info.
> >
> > Btw., note that there's also this warning:
> >
> > unwind: target platform=x86 is not supported
> >
> > (but that's unrelated to this commit.)
>
> Ok, what distro? Do you have libunwind-devel installed? I couldn't
> reproduce this one here with/without it installed, to test I build it
> with:
>
> make ARCH=x86_64 O=/tmp/build/perf -C tools/perf install-bin
>
> and without that ARCH= setting, then I record with:
>
> perf record --call-graph dwarf -a sleep 2
>
> and try what you said emitted that warning:
>
> perf report --stdio
So, the "unwind: target platform=x86 is not supported" comes only from:
a tools/perf/util/unwind-libunwind.c
That is linked by:
$ grep libunwind-local tools/perf/util/Build
libperf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind-local.o
$
And here CONFIG_LOCAL_LIBUNWIND is detected:
[acme@...et linux]$ grep CONFIG_LOCAL_LIBUNWIND /tmp/build/perf/.config-detected
CONFIG_LOCAL_LIBUNWIND=y
[acme@...et linux]$
And that message is there:
[acme@...et linux]$ strings ~/bin/perf | grep "unwind: target platform="
unwind: target platform=%s is not supported
[acme@...et linux]$
So the only way for get to that point would be for
local_unwind_libunwind_ops to be NULL, which it will be if its __weak
definition seting it to zero isn't overriden by...
tools/perf/util/unwind-libunwind-local.c
#ifndef REMOTE_UNWIND_LIBUNWIND
struct unwind_libunwind_ops *
local_unwind_libunwind_ops = &_unwind_libunwind_ops;
#endif
And what defines it is...
tools/perf/util/libunwind/x86_32.c:#define REMOTE_UNWIND_LIBUNWIND
(and a arm64 file, but lets leave that aside, seems unrelated to this
case)
That will get built by...
tools/perf/util/Build:libperf-$(CONFIG_LIBUNWIND_X86) += libunwind/x86_32.o
[acme@...et linux]$ grep CONFIG_LIBUNWIND_X86 /tmp/build/perf/.config-detected
[acme@...et linux]$
Ingo, are you doing something unusual as building a 32-bit perf to read a
62-bit perf.data file?
Jiri, can you help here? Do you need more info?
- Arnaldo
Powered by blists - more mailing lists