From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754503AbdFWFsj (ORCPT ); Fri, 23 Jun 2017 01:48:39 -0400 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:44258 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754283AbdFWFsd (ORCPT ); Fri, 23 Jun 2017 01:48:33 -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 , Adrian Hunter , Wang Nan Subject: [PATCH/RFC 3/9] perf symbols: Discard symbols in kallsyms for loaded modules Date: Fri, 23 Jun 2017 14:48:21 +0900 Message-Id: <20170623054827.3828-4-namhyung@kernel.org> X-Mailer: git-send-email 2.13.1 In-Reply-To: <20170623054827.3828-1-namhyung@kernel.org> References: <20170623054827.3828-1-namhyung@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If a module is already loaded, it should have symbols and no need to load new symbols from kallsyms. Actually kallsyms can have different addresses if the module was reloaded. Current code just discards the first symbols only, but it should do the same for all symbols in the module. Note that the kernel doesn't set the dso->loaded bit so simply checking it would do the job IMHO. Cc: Adrian Hunter Cc: Wang Nan Signed-off-by: Namhyung Kim --- tools/perf/util/symbol.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index e7a98dbd2aed..74078ba595b3 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -787,11 +787,12 @@ static int dso__split_kallsyms(struct dso *dso, struct map *map, u64 delta) curr_map = map; goto discard_symbol; } - - if (curr_map->dso->loaded && - !machine__is_default_guest(machine)) - goto discard_symbol; } + + if (curr_map->dso->loaded && + !machine__is_default_guest(machine)) + goto discard_symbol; + /* * So that we look just like we get from .ko files, * i.e. not prelinked, relative to map->start. -- 2.13.1