aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2018-12-05 11:05:08 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2018-12-17 13:02:17 -0500
commit1f44b3e2fc5d7a2c5f6d1e67c80ebc226d6bd25f (patch)
tree7d94457d0febbb732a787c3057b606f7cf98a5de
parent68ca5d07de207e56f57e887de23b03fbc1ebc2a6 (diff)
perf trace: Move event delivery to a new deliver_event() function
Mov event delivery code to a new trace__deliver_event() function, so it's easier to add ordered delivery coming in the following patches. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Dmitry Levin <ldv@altlinux.org> Cc: Eugene Syromiatnikov <esyr@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Luis Cláudio Gonçalves <lclaudio@uudg.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20181205160509.1168-8-jolsa@kernel.org [ Add trace__ prefix to the deliver_event method ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/builtin-trace.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 98aff12af9e6..3b6b1fecf2bb 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -2637,6 +2637,21 @@ static int trace__set_filter_pids(struct trace *trace)
2637 return err; 2637 return err;
2638} 2638}
2639 2639
2640static int trace__deliver_event(struct trace *trace, union perf_event *event)
2641{
2642 struct perf_evlist *evlist = trace->evlist;
2643 struct perf_sample sample;
2644 int err;
2645
2646 err = perf_evlist__parse_sample(evlist, event, &sample);
2647 if (err)
2648 fprintf(trace->output, "Can't parse sample, err = %d, skipping...\n", err);
2649 else
2650 trace__handle_event(trace, event, &sample);
2651
2652 return 0;
2653}
2654
2640static int trace__run(struct trace *trace, int argc, const char **argv) 2655static int trace__run(struct trace *trace, int argc, const char **argv)
2641{ 2656{
2642 struct perf_evlist *evlist = trace->evlist; 2657 struct perf_evlist *evlist = trace->evlist;
@@ -2802,18 +2817,10 @@ again:
2802 continue; 2817 continue;
2803 2818
2804 while ((event = perf_mmap__read_event(md)) != NULL) { 2819 while ((event = perf_mmap__read_event(md)) != NULL) {
2805 struct perf_sample sample;
2806
2807 ++trace->nr_events; 2820 ++trace->nr_events;
2808 2821
2809 err = perf_evlist__parse_sample(evlist, event, &sample); 2822 trace__deliver_event(trace, event);
2810 if (err) {
2811 fprintf(trace->output, "Can't parse sample, err = %d, skipping...\n", err);
2812 goto next_event;
2813 }
2814 2823
2815 trace__handle_event(trace, event, &sample);
2816next_event:
2817 perf_mmap__consume(md); 2824 perf_mmap__consume(md);
2818 2825
2819 if (interrupted) 2826 if (interrupted)