From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Ingo Molnar <mingo@kernel.org>, Paul Mackerras <paulus@samba.org>,
Namhyung Kim <namhyung.kim@lge.com>,
Namhyung Kim <namhyung@kernel.org>,
LKML <linux-kernel@vger.kernel.org>, Jiri Olsa <jolsa@redhat.com>,
David Ahern <dsahern@gmail.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Minchan Kim <minchan@kernel.org>
Subject: [PATCHSET 00/13] perf tools: Fix vmlinux search path initialization
Date: Tue, 12 Aug 2014 15:40:32 +0900 [thread overview]
Message-ID: <1407825645-24586-1-git-send-email-namhyung@kernel.org> (raw)
Hello,
Currently, when perf reports kernel symbols, it tries to look up the
sample ip from kallsyms/vmlinux in the build-id cache, and then a
running kernel. This can be a problem if it's recorded on a different
kernel and failed to find it from the build-id cache for some reason.
We can fix it by using --symfs option but it's annoying for user to do
it always. As we already have the kernel version info in the
perf.data file, it'd be better to change it to use the info to search
the correct file automatically.
Minchan Kim reported this during his kernel work. And this patchset
fixes it by using the recorded kernel info.
The patch 1 and 2 are independent fixes so can be applied separately.
The patch 3 to 12 are preparation for the patch 13 which move
symbol__init() after creating a session.
Before:
$ perf report
...
# Samples: 4K of event 'cpu-clock'
# Event count (approx.): 1067250000
#
# Overhead Command Shared Object Symbol
# ........ .......... ................. ..............................
71.87% swapper [kernel.kallsyms] [k] recover_probed_instruction
After:
# Overhead Command Shared Object Symbol
# ........ .......... ................. ....................
71.87% swapper [kernel.kallsyms] [k] native_safe_halt
You can also get it from 'perf/vmlinux-v1' branch on my tree:
git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
Any comments are welcome.
Thanks,
Namhyung
Namhyung Kim (13):
perf script: Fix possible memory leaks
perf tools: Fix a memory leak in vmlinux_path__init()
perf annotate: Move session handling out of __cmd_annotate()
perf buildid-cache: Move session handling into cmd_buildid_cache()
perf inject: Move session handling out of __cmd_inject()
perf kmem: Move session handling out of __cmd_kmem()
perf kvm: Move call to symbol__init() after creating session
perf lock: Move call to symbol__init() after creating session
perf sched: Move call to symbol__init() after creating session
perf script: Move call to symbol__init() after creating session
perf timechart: Move call to symbol__init() after creating session
perf trace: Move call to symbol__init() after creating session
perf tools: Check recorded kernel version when finding vmlinux
tools/perf/builtin-annotate.c | 75 ++++++++++++++++++++------------------
tools/perf/builtin-buildid-cache.c | 37 +++++++++++--------
tools/perf/builtin-diff.c | 2 +-
tools/perf/builtin-inject.c | 31 +++++++++-------
tools/perf/builtin-kmem.c | 49 ++++++++++++++-----------
tools/perf/builtin-kvm.c | 6 +--
tools/perf/builtin-lock.c | 3 +-
tools/perf/builtin-mem.c | 2 +-
tools/perf/builtin-record.c | 2 +-
tools/perf/builtin-report.c | 2 +-
tools/perf/builtin-sched.c | 3 +-
tools/perf/builtin-script.c | 40 ++++++++++++--------
tools/perf/builtin-timechart.c | 4 +-
tools/perf/builtin-top.c | 2 +-
tools/perf/builtin-trace.c | 8 ++--
tools/perf/tests/builtin-test.c | 2 +-
tools/perf/util/probe-event.c | 2 +-
tools/perf/util/symbol.c | 26 ++++++++-----
tools/perf/util/symbol.h | 3 +-
19 files changed, 172 insertions(+), 127 deletions(-)
--
2.0.0
next reply other threads:[~2014-08-12 6:40 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-12 6:40 Namhyung Kim [this message]
2014-08-12 6:40 ` [PATCH 01/13] perf script: Fix possible memory leaks Namhyung Kim
2014-08-13 6:21 ` Adrian Hunter
2014-08-13 7:05 ` Namhyung Kim
2014-08-13 19:27 ` Arnaldo Carvalho de Melo
2014-08-14 8:45 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 02/13] perf tools: Fix a memory leak in vmlinux_path__init() Namhyung Kim
2014-08-14 8:45 ` [tip:perf/core] perf symbols: " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 03/13] perf annotate: Move session handling out of __cmd_annotate() Namhyung Kim
2014-08-13 11:48 ` Jiri Olsa
2014-08-19 6:03 ` Namhyung Kim
2014-08-14 8:46 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 04/13] perf buildid-cache: Move session handling into cmd_buildid_cache() Namhyung Kim
2014-08-14 8:46 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 05/13] perf inject: Move session handling out of __cmd_inject() Namhyung Kim
2014-08-14 8:46 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 06/13] perf kmem: Move session handling out of __cmd_kmem() Namhyung Kim
2014-08-14 8:46 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 07/13] perf kvm: Move call to symbol__init() after creating session Namhyung Kim
2014-08-14 8:47 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 08/13] perf lock: " Namhyung Kim
2014-08-14 8:47 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 09/13] perf sched: " Namhyung Kim
2014-08-14 8:47 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 10/13] perf script: " Namhyung Kim
2014-08-14 8:47 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 11/13] perf timechart: " Namhyung Kim
2014-08-14 8:48 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 12/13] perf trace: " Namhyung Kim
2014-08-14 8:48 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-12 6:40 ` [PATCH 13/13] perf tools: Check recorded kernel version when finding vmlinux Namhyung Kim
2014-08-14 8:48 ` [tip:perf/core] " tip-bot for Namhyung Kim
2014-08-13 12:49 ` [PATCHSET 00/13] perf tools: Fix vmlinux search path initialization Jiri Olsa
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=1407825645-24586-1-git-send-email-namhyung@kernel.org \
--to=namhyung@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=dsahern@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=minchan@kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung.kim@lge.com \
--cc=paulus@samba.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome