diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2009-12-27 18:37:02 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-28 03:03:34 -0500 |
commit | d549c7690190d9739005e19604faad6da4b802ac (patch) | |
tree | 1a03376ecc41ecd9495298ed3ad34f72da7ecea0 /tools/perf/builtin-kmem.c | |
parent | 27295592c22e71bbd38110c302da8dbb43912a60 (diff) |
perf session: Remove sample_type_check from event_ops
This is really something tools need to do before asking for the
events to be processed, leaving perf_session__process_events to
do just that, process events.
Also add a msg parameter to perf_session__has_traces() so that
the right message can be printed, fixing a regression added by
me in the previous cset (right timechart message) and also
fixing 'perf kmem', that was not asking if 'perf kmem record'
was ran.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1261957026-15580-6-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/builtin-kmem.c')
-rw-r--r-- | tools/perf/builtin-kmem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c index a85936f09f3e..73b065022e27 100644 --- a/tools/perf/builtin-kmem.c +++ b/tools/perf/builtin-kmem.c | |||
@@ -345,7 +345,6 @@ static int process_sample_event(event_t *event, struct perf_session *session) | |||
345 | static struct perf_event_ops event_ops = { | 345 | static struct perf_event_ops event_ops = { |
346 | .process_sample_event = process_sample_event, | 346 | .process_sample_event = process_sample_event, |
347 | .process_comm_event = event__process_comm, | 347 | .process_comm_event = event__process_comm, |
348 | .sample_type_check = perf_session__has_traces, | ||
349 | }; | 348 | }; |
350 | 349 | ||
351 | static double fragmentation(unsigned long n_req, unsigned long n_alloc) | 350 | static double fragmentation(unsigned long n_req, unsigned long n_alloc) |
@@ -492,11 +491,14 @@ static void sort_result(void) | |||
492 | 491 | ||
493 | static int __cmd_kmem(void) | 492 | static int __cmd_kmem(void) |
494 | { | 493 | { |
495 | int err; | 494 | int err = -EINVAL; |
496 | struct perf_session *session = perf_session__new(input_name, O_RDONLY, 0); | 495 | struct perf_session *session = perf_session__new(input_name, O_RDONLY, 0); |
497 | if (session == NULL) | 496 | if (session == NULL) |
498 | return -ENOMEM; | 497 | return -ENOMEM; |
499 | 498 | ||
499 | if (!perf_session__has_traces(session, "kmem record")) | ||
500 | goto out_delete; | ||
501 | |||
500 | setup_pager(); | 502 | setup_pager(); |
501 | err = perf_session__process_events(session, &event_ops); | 503 | err = perf_session__process_events(session, &event_ops); |
502 | if (err != 0) | 504 | if (err != 0) |