public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: David Ahern <dsahern@gmail.com>
Cc: acme@redhat.com, a.p.zijlstra@chello.nl, mingo@elte.hu,
	paulus@samba.org, cjashfor@linux.vnet.ibm.com,
	fweisbec@gmail.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] perf, tool: Force guest machine definition option
Date: Sun, 15 Apr 2012 16:05:13 +0200	[thread overview]
Message-ID: <20120415140513.GA2588@m.redhat.com> (raw)
In-Reply-To: <4F8834F5.9040605@gmail.com>

On Fri, Apr 13, 2012 at 08:15:17AM -0600, David Ahern wrote:
> On 4/13/12 6:41 AM, Jiri Olsa wrote:
> >I get same error even on acme's urgent branch.. do you mean
> >below one?  It fixes the guest machine lookup for mmap event.
> >
> >perf kvm: Finding struct machine fails for PERF_RECORD_MMAP
> >commit 7fb0a5ee8889488f7568ffddffeb66ddeb50917e
> >Author: Nikunj A. Dadhania<nikunj@linux.vnet.ibm.com>
> >Date:   Mon Apr 9 13:52:23 2012 +0530
> 
> That's the one I was referring to.
> 
> >
> >In my case it looks like for some reason the guest buildid DSO
> >is not stored in record phase (no hits maybe?), so report won't
> >create guest machine record at all and get NULL machine.
> 
> I see now -- different problem, but similar in that it's an mmap
> event and the pid is 0.
> 
> I need to take my daughter to school and won't get back to this for
> a while but what I am seeing is that on perf-record mmap events are
> generated with pid set to DEFAULT_GUEST_KERNEL_ID = 0
> (machines__create_guest_kernel_maps).
> 
> On the report side a machine has not been created for pid of 0, so
> the look up in perf_session__find_machine_for_cpumode fails.
> 
> David

how about the patch below? it ensures there's machine record for
the guest. The segfault issue still stays..

jirka

---
Running 'perf kvm record' without any of following options:
 --guestmount
 --guestvmlinux
 --guestkallsyms
 --guestmodules

is causing the guest machine to be ommited from the data file,
and all guest samples are counted in nr_unprocessable_samples.

This patch makes sure the 'perf kvm record' command is not
let through if guest machine isn't defined.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
---
 tools/perf/builtin-record.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 10b1f1f..0ae4237 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -462,6 +462,14 @@ static int __cmd_record(struct perf_record *rec, int argc, const char **argv)
 		return -1;
 	}
 
+	if (perf_guest &&
+	    !machines__find(&session->machines, DEFAULT_GUEST_KERNEL_ID)) {
+		ui__warning("You need to define guest with one of guestmount|"
+			    "guestvmlinux|guestkallsyms|guestmodules\n");
+		err = -EINVAL;
+		goto out_delete_session;
+	}
+
 	rec->session = session;
 
 	for (feat = HEADER_FIRST_FEATURE; feat < HEADER_LAST_FEATURE; feat++)
-- 
1.7.7.6


  reply	other threads:[~2012-04-15 14:05 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-12 12:20 [PATCH 0/3] perf, tool: kvm record & event processing fixies Jiri Olsa
2012-04-12 12:21 ` [PATCH 1/3] perf, tool: Force guest machine definition option Jiri Olsa
2012-04-12 14:40   ` David Ahern
2012-04-13 11:32     ` Jiri Olsa
2012-04-13 12:21       ` David Ahern
2012-04-13 12:41         ` Jiri Olsa
2012-04-13 14:15           ` David Ahern
2012-04-15 14:05             ` Jiri Olsa [this message]
2012-04-15 21:32               ` David Ahern
2012-04-12 12:21 ` [PATCH 2/3] perf, tool: Skip event correctly for unknown id/machine Jiri Olsa
2012-04-15  8:34   ` [tip:perf/urgent] perf session: " tip-bot for Jiri Olsa
2012-04-12 12:21 ` [PATCH 3/3] perf, tool: Fail on processing event with unknown size Jiri Olsa
2012-04-16 18:42   ` [PATCHv2 " Jiri Olsa
2012-05-11  6:37     ` [tip:perf/core] perf session: " tip-bot for Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120415140513.GA2588@m.redhat.com \
    --to=jolsa@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=cjashfor@linux.vnet.ibm.com \
    --cc=dsahern@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox