diff options
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/util/event.h | 1 | ||||
-rw-r--r-- | tools/perf/util/session.c | 11 |
2 files changed, 6 insertions, 6 deletions
diff --git a/tools/perf/util/event.h b/tools/perf/util/event.h index 5699e7e2a790..50a7b115698c 100644 --- a/tools/perf/util/event.h +++ b/tools/perf/util/event.h | |||
@@ -214,6 +214,7 @@ struct events_stats { | |||
214 | u32 nr_invalid_chains; | 214 | u32 nr_invalid_chains; |
215 | u32 nr_unknown_id; | 215 | u32 nr_unknown_id; |
216 | u32 nr_unprocessable_samples; | 216 | u32 nr_unprocessable_samples; |
217 | u32 nr_unordered_events; | ||
217 | }; | 218 | }; |
218 | 219 | ||
219 | struct attr_event { | 220 | struct attr_event { |
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 6702ac28754b..80dbba095f30 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c | |||
@@ -521,15 +521,11 @@ int perf_session_queue_event(struct perf_session *s, union perf_event *event, | |||
521 | return -ETIME; | 521 | return -ETIME; |
522 | 522 | ||
523 | if (timestamp < oe->last_flush) { | 523 | if (timestamp < oe->last_flush) { |
524 | WARN_ONCE(1, "Timestamp below last timeslice flush\n"); | 524 | pr_oe_time(timestamp, "out of order event\n"); |
525 | |||
526 | pr_oe_time(timestamp, "out of order event"); | ||
527 | pr_oe_time(oe->last_flush, "last flush, last_flush_type %d\n", | 525 | pr_oe_time(oe->last_flush, "last flush, last_flush_type %d\n", |
528 | oe->last_flush_type); | 526 | oe->last_flush_type); |
529 | 527 | ||
530 | /* We could get out of order messages after forced flush. */ | 528 | s->stats.nr_unordered_events++; |
531 | if (oe->last_flush_type != OE_FLUSH__HALF) | ||
532 | return -EINVAL; | ||
533 | } | 529 | } |
534 | 530 | ||
535 | new = ordered_events__new(oe, timestamp, event); | 531 | new = ordered_events__new(oe, timestamp, event); |
@@ -1057,6 +1053,9 @@ static void perf_session__warn_about_errors(const struct perf_session *session, | |||
1057 | "Do you have a KVM guest running and not using 'perf kvm'?\n", | 1053 | "Do you have a KVM guest running and not using 'perf kvm'?\n", |
1058 | session->stats.nr_unprocessable_samples); | 1054 | session->stats.nr_unprocessable_samples); |
1059 | } | 1055 | } |
1056 | |||
1057 | if (session->stats.nr_unordered_events != 0) | ||
1058 | ui__warning("%u out of order events recorded.\n", session->stats.nr_unordered_events); | ||
1060 | } | 1059 | } |
1061 | 1060 | ||
1062 | volatile int session_done; | 1061 | volatile int session_done; |