From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754402AbdFWFsc (ORCPT ); Fri, 23 Jun 2017 01:48:32 -0400 Received: from LGEAMRELO11.lge.com ([156.147.23.51]:54085 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754252AbdFWFsb (ORCPT ); Fri, 23 Jun 2017 01:48:31 -0400 X-Original-SENDERIP: 156.147.1.127 X-Original-MAILFROM: namhyung@kernel.org X-Original-SENDERIP: 10.177.227.17 X-Original-MAILFROM: namhyung@kernel.org From: Namhyung Kim To: Arnaldo Carvalho de Melo Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , kernel-team@lge.com, Masami Hiramatsu , Andi Kleen Subject: [PATCHSET/RFC 0/9] perf tools: Support out-of-tree modules Date: Fri, 23 Jun 2017 14:48:18 +0900 Message-Id: <20170623054827.3828-1-namhyung@kernel.org> X-Mailer: git-send-email 2.13.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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