[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <tip-c192524e6fe8a4bd18f2549f9556b81ed9e05a86@git.kernel.org>
Date: Mon, 19 Mar 2018 23:30:20 -0700
From: tip-bot for Jiri Olsa <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: jolsa@...nel.org, leo.yan@...aro.org,
alexander.shishkin@...ux.intel.com, tglx@...utronix.de,
mingo@...nel.org, dsahern@...il.com, hpa@...or.com,
peterz@...radead.org, namhyung@...nel.org,
linux-kernel@...r.kernel.org, acme@...hat.com
Subject: [tip:perf/core] perf machine: Fix mmap name setup
Commit-ID: c192524e6fe8a4bd18f2549f9556b81ed9e05a86
Gitweb: https://git.kernel.org/tip/c192524e6fe8a4bd18f2549f9556b81ed9e05a86
Author: Jiri Olsa <jolsa@...nel.org>
AuthorDate: Mon, 12 Mar 2018 16:24:06 +0100
Committer: Arnaldo Carvalho de Melo <acme@...hat.com>
CommitDate: Fri, 16 Mar 2018 13:56:25 -0300
perf machine: Fix mmap name setup
Leo reported broken -k option behavior. The reason is that we used
symbol_conf.vmlinux_name as a source for mmap event name, but in fact
it's a vmlinux path.
Moving the symbol_conf.vmlinux_name check for both host and guest to the
proper place and out of the machine__set_mmap_name function.
Reported-by: Leo Yan <leo.yan@...aro.org>
Signed-off-by: Jiri Olsa <jolsa@...nel.org>
Tested-by: Leo Yan <leo.yan@...aro.org>
Cc: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
Cc: David Ahern <dsahern@...il.com>
Cc: Namhyung Kim <namhyung@...nel.org>
Cc: Peter Zijlstra <peterz@...radead.org>
Fixes: commit ("8c7f1bb37b29 perf machine: Move kernel mmap name into struct machine")
Link: http://lkml.kernel.org/r/20180312152406.10141-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
---
tools/perf/util/machine.c | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 43fbbee409ec..2eca8478e24f 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -50,21 +50,13 @@ static void machine__threads_init(struct machine *machine)
static int machine__set_mmap_name(struct machine *machine)
{
- if (machine__is_host(machine)) {
- if (symbol_conf.vmlinux_name)
- machine->mmap_name = strdup(symbol_conf.vmlinux_name);
- else
- machine->mmap_name = strdup("[kernel.kallsyms]");
- } else if (machine__is_default_guest(machine)) {
- if (symbol_conf.default_guest_vmlinux_name)
- machine->mmap_name = strdup(symbol_conf.default_guest_vmlinux_name);
- else
- machine->mmap_name = strdup("[guest.kernel.kallsyms]");
- } else {
- if (asprintf(&machine->mmap_name, "[guest.kernel.kallsyms.%d]",
- machine->pid) < 0)
- machine->mmap_name = NULL;
- }
+ if (machine__is_host(machine))
+ machine->mmap_name = strdup("[kernel.kallsyms]");
+ else if (machine__is_default_guest(machine))
+ machine->mmap_name = strdup("[guest.kernel.kallsyms]");
+ else if (asprintf(&machine->mmap_name, "[guest.kernel.kallsyms.%d]",
+ machine->pid) < 0)
+ machine->mmap_name = NULL;
return machine->mmap_name ? 0 : -ENOMEM;
}
@@ -794,9 +786,15 @@ static struct dso *machine__get_kernel(struct machine *machine)
struct dso *kernel;
if (machine__is_host(machine)) {
+ if (symbol_conf.vmlinux_name)
+ vmlinux_name = symbol_conf.vmlinux_name;
+
kernel = machine__findnew_kernel(machine, vmlinux_name,
"[kernel]", DSO_TYPE_KERNEL);
} else {
+ if (symbol_conf.default_guest_vmlinux_name)
+ vmlinux_name = symbol_conf.default_guest_vmlinux_name;
+
kernel = machine__findnew_kernel(machine, vmlinux_name,
"[guest.kernel]",
DSO_TYPE_GUEST_KERNEL);
Powered by blists - more mailing lists