lkml.org 
[lkml]   [2017]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCHSET/RFC 0/9] perf tools: Support out-of-tree modules
Date
Hello,

Currently perf loads modules only in the canonical directory
(/lib/modules/`uname -r`/). But in some situation users want to use
local or out-of-tree modules which are not placed in the directory.

One example is developing kernel in a qemu environment. In this case,
guest doesn't see vmlinux or modules but one can load a module in some
directory which was copied separately. During the development, the
module can be unloaded, fixed and reloaded more than once.

I notice that perf uses symbols in /proc/kallsyms (and /proc/kcore)
and it sometimes shows different result with a same data file. This
was due to a same module being loaded at a different address or a
reworked module being loaded at a same address.

I think it needs to use build-id cache if possible. To do that we
need to add an option to search modules and to save them in the
build-id cache automatically.

The code is available on 'perf/kmod-dir-v1' branch at

git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git

Thanks,
Namhyung


Namhyung Kim (9):
perf symbols: Use absolute address to fixup map address
perf tools: Remove duplicate code
perf symbols: Discard symbols in kallsyms for loaded modules
perf symbols: Load kernel module symbols ASAP
perf symbols: Fixup the end address of kernel map properly
perf symbols: Use already loaded module dso when loading kcore
perf tools: Add symbol_conf.use_kcore
perf record: Not use kcore by default
perf record: Add --module-dir option

tools/perf/Documentation/perf-record.txt | 6 ++++
tools/perf/builtin-record.c | 7 ++++
tools/perf/perf-with-kcore.sh | 1 +
tools/perf/util/machine.c | 33 ++++++++---------
tools/perf/util/map.c | 4 +--
tools/perf/util/symbol.c | 61 +++++++++++++++++---------------
tools/perf/util/symbol.h | 6 ++--
7 files changed, 69 insertions(+), 49 deletions(-)

--
2.13.1

\
 
 \ /
  Last update: 2017-06-23 07:49    [W:0.112 / U:0.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site