diff options
Diffstat (limited to 'tools/perf/util/session.c')
-rw-r--r-- | tools/perf/util/session.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index b59abf5aba3..0f7e544544f 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c | |||
@@ -125,7 +125,9 @@ static void perf_session__destroy_kernel_maps(struct perf_session *self) | |||
125 | machines__destroy_guest_kernel_maps(&self->machines); | 125 | machines__destroy_guest_kernel_maps(&self->machines); |
126 | } | 126 | } |
127 | 127 | ||
128 | struct perf_session *perf_session__new(const char *filename, int mode, bool force, bool repipe) | 128 | struct perf_session *perf_session__new(const char *filename, int mode, |
129 | bool force, bool repipe, | ||
130 | struct perf_event_ops *ops) | ||
129 | { | 131 | { |
130 | size_t len = filename ? strlen(filename) + 1 : 0; | 132 | size_t len = filename ? strlen(filename) + 1 : 0; |
131 | struct perf_session *self = zalloc(sizeof(*self) + len); | 133 | struct perf_session *self = zalloc(sizeof(*self) + len); |
@@ -170,6 +172,13 @@ struct perf_session *perf_session__new(const char *filename, int mode, bool forc | |||
170 | } | 172 | } |
171 | 173 | ||
172 | perf_session__update_sample_type(self); | 174 | perf_session__update_sample_type(self); |
175 | |||
176 | if (ops && ops->ordering_requires_timestamps && | ||
177 | ops->ordered_samples && !self->sample_id_all) { | ||
178 | dump_printf("WARNING: No sample_id_all support, falling back to unordered processing\n"); | ||
179 | ops->ordered_samples = false; | ||
180 | } | ||
181 | |||
173 | out: | 182 | out: |
174 | return self; | 183 | return self; |
175 | out_free: | 184 | out_free: |