diff options
author | Jiri Olsa <jolsa@kernel.org> | 2018-12-05 11:05:08 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-12-17 13:02:17 -0500 |
commit | 1f44b3e2fc5d7a2c5f6d1e67c80ebc226d6bd25f (patch) | |
tree | 7d94457d0febbb732a787c3057b606f7cf98a5de | |
parent | 68ca5d07de207e56f57e887de23b03fbc1ebc2a6 (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.c | 25 |
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 | ||
2640 | static 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 | |||
2640 | static int trace__run(struct trace *trace, int argc, const char **argv) | 2655 | static 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); | ||
2816 | next_event: | ||
2817 | perf_mmap__consume(md); | 2824 | perf_mmap__consume(md); |
2818 | 2825 | ||
2819 | if (interrupted) | 2826 | if (interrupted) |