mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: acme@redhat.com, a.p.zijlstra@chello.nl, mingo@elte.hu, paulus@samba.org
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@redhat.com>
Subject: [PATCH] perf tools: Exit recording if events have non matching sample type
Date: Thu, 29 Sep 2011 18:01:08 +0200	[thread overview]
Message-ID: <1317312068-10411-1-git-send-email-jolsa@redhat.com> (raw)

The event processing relies on all events having the same sample_type.

This is being checked when the session is being opened read only.
It also needs to be checked when we do record, since events could be
read during processing build IDs at the end of the record command.

If we process events with different sample_type the processing might
skip some events or hang.

Following command hangs on my setup:
  ./perf record -o perf.data -e ext4:ext4_mb_new_group_pa \
   -e LLC-loads -- date '+%F'

because hardware and tracepoint events have different sample type.

With the patch applied the record command displays
"Non matching sample_type" message and exits.

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

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index f4c3fbe..71e2c4e 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -832,6 +832,12 @@ int cmd_record(int argc, const char **argv, const char *prefix __used)
 		goto out_symbol_exit;
 	}
 
+	if (!perf_evlist__valid_sample_type(evsel_list)) {
+		pr_err("Non matching sample_type\n");
+		err = -EINVAL;
+		goto out_symbol_exit;
+	}
+
 	if (target_pid != -1)
 		target_tid = target_pid;
 
-- 
1.7.4


             reply	other threads:[~2011-09-29 16:01 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-29 16:01 Jiri Olsa [this message]
2011-09-29 22:05 ` Arnaldo Carvalho de Melo
2011-09-29 22:55   ` David Ahern
2011-10-03 10:22   ` Jiri Olsa
2011-10-03 16:27     ` Arnaldo Carvalho de Melo
2011-10-03 19:15       ` Jiri Olsa
2011-10-17 12:50       ` Jiri Olsa
2011-10-21  7:18 ` Xu, Anhua
2011-10-21  8:10   ` Jiri Olsa
2011-10-21 14:16     ` David Ahern
2011-10-21 14:29       ` David Ahern
2011-10-21 14:43         ` Jiri Olsa
2011-10-21 14:42       ` Jiri Olsa
2011-09-29 23:06 Arnaldo Carvalho de Melo
2011-09-29 23:33 ` David Ahern
2011-09-30  0:40   ` Arnaldo Carvalho de Melo
2011-09-30  0:58     ` David Ahern
2011-09-30  2:21       ` Arnaldo Carvalho de Melo
2011-09-30  2:41         ` David Ahern
2011-09-30  7:39   ` Peter Zijlstra
2011-10-04  4:14     ` David Ahern
2011-10-04 10:00       ` Peter Zijlstra
2011-10-04 13:41         ` Arnaldo Carvalho de Melo

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=1317312068-10411-1-git-send-email-jolsa@redhat.com \
    --to=jolsa@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.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

all inboxes | Powered by JetHome®