diff options
Diffstat (limited to 'tools/perf/builtin-kmem.c')
-rw-r--r-- | tools/perf/builtin-kmem.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c index 225e963df105..886174e9525b 100644 --- a/tools/perf/builtin-kmem.c +++ b/tools/perf/builtin-kmem.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include "util/thread.h" | 7 | #include "util/thread.h" |
8 | #include "util/header.h" | 8 | #include "util/header.h" |
9 | #include "util/session.h" | 9 | #include "util/session.h" |
10 | #include "util/tool.h" | ||
10 | 11 | ||
11 | #include "util/parse-options.h" | 12 | #include "util/parse-options.h" |
12 | #include "util/trace-event.h" | 13 | #include "util/trace-event.h" |
@@ -303,12 +304,13 @@ static void process_raw_event(union perf_event *raw_event __used, void *data, | |||
303 | } | 304 | } |
304 | } | 305 | } |
305 | 306 | ||
306 | static int process_sample_event(union perf_event *event, | 307 | static int process_sample_event(struct perf_tool *tool __used, |
308 | union perf_event *event, | ||
307 | struct perf_sample *sample, | 309 | struct perf_sample *sample, |
308 | struct perf_evsel *evsel __used, | 310 | struct perf_evsel *evsel __used, |
309 | struct perf_session *session) | 311 | struct machine *machine) |
310 | { | 312 | { |
311 | struct thread *thread = perf_session__findnew(session, event->ip.pid); | 313 | struct thread *thread = machine__findnew_thread(machine, event->ip.pid); |
312 | 314 | ||
313 | if (thread == NULL) { | 315 | if (thread == NULL) { |
314 | pr_debug("problem processing %d event, skipping it.\n", | 316 | pr_debug("problem processing %d event, skipping it.\n", |
@@ -324,7 +326,7 @@ static int process_sample_event(union perf_event *event, | |||
324 | return 0; | 326 | return 0; |
325 | } | 327 | } |
326 | 328 | ||
327 | static struct perf_event_ops event_ops = { | 329 | static struct perf_tool perf_kmem = { |
328 | .sample = process_sample_event, | 330 | .sample = process_sample_event, |
329 | .comm = perf_event__process_comm, | 331 | .comm = perf_event__process_comm, |
330 | .ordered_samples = true, | 332 | .ordered_samples = true, |
@@ -483,7 +485,7 @@ static int __cmd_kmem(void) | |||
483 | { | 485 | { |
484 | int err = -EINVAL; | 486 | int err = -EINVAL; |
485 | struct perf_session *session = perf_session__new(input_name, O_RDONLY, | 487 | struct perf_session *session = perf_session__new(input_name, O_RDONLY, |
486 | 0, false, &event_ops); | 488 | 0, false, &perf_kmem); |
487 | if (session == NULL) | 489 | if (session == NULL) |
488 | return -ENOMEM; | 490 | return -ENOMEM; |
489 | 491 | ||
@@ -494,7 +496,7 @@ static int __cmd_kmem(void) | |||
494 | goto out_delete; | 496 | goto out_delete; |
495 | 497 | ||
496 | setup_pager(); | 498 | setup_pager(); |
497 | err = perf_session__process_events(session, &event_ops); | 499 | err = perf_session__process_events(session, &perf_kmem); |
498 | if (err != 0) | 500 | if (err != 0) |
499 | goto out_delete; | 501 | goto out_delete; |
500 | sort_result(); | 502 | sort_result(); |