aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-kmem.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2009-12-27 18:37:02 -0500
committerIngo Molnar <mingo@elte.hu>2009-12-28 03:03:34 -0500
commitd549c7690190d9739005e19604faad6da4b802ac (patch)
tree1a03376ecc41ecd9495298ed3ad34f72da7ecea0 /tools/perf/builtin-kmem.c
parent27295592c22e71bbd38110c302da8dbb43912a60 (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.c6
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)
345static struct perf_event_ops event_ops = { 345static 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
351static double fragmentation(unsigned long n_req, unsigned long n_alloc) 350static double fragmentation(unsigned long n_req, unsigned long n_alloc)
@@ -492,11 +491,14 @@ static void sort_result(void)
492 491
493static int __cmd_kmem(void) 492static 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)