diff options
-rw-r--r-- | tools/perf/util/session.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index cf1fe01b7e89..e392202b96bc 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -811,6 +811,7 @@ static struct machine * union perf_event *event) { const u8 cpumode = event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; + struct machine *machine; if (perf_guest && ((cpumode == PERF_RECORD_MISC_GUEST_KERNEL) || @@ -822,7 +823,11 @@ static struct machine * else pid = event->ip.pid; - return perf_session__findnew_machine(session, pid); + machine = perf_session__find_machine(session, pid); + if (!machine) + machine = perf_session__findnew_machine(session, + DEFAULT_GUEST_KERNEL_ID); + return machine; } return &session->machines.host; |