mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-08 06:03:24 +00:00
perf/urgent fix:
* Do not stop processing when out of order events are detected, just count them and notify the user about it after processing all events. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJUeOiiAAoJEBpxZoYYoA71ASYIAIv8upvVJff4q4r6AWZuHxsm v6RtrMb+JgQ0oQu+BY5X5MGmwsVWsrt/63gQgXVhTN6hgdw6LC0Zw7N+w5tZeaDp 4pqJZGllQTPLsmo8K/uxk2uSIrH6N4iK1akKjGtl6R9nslFhMA1rAQW45TwwHvmU uJZOynruNn54wbCRWGnUCqy3m1Nsxe5Xu7bgU6yhwo+IfaaQMJj0PAg3KHfZQB3g G5MiVoil9tms9I+5SHm32pFheYWsUPIgIyMkiDzLC6VdQ4sh9Bxg2E/lg27G9oMI FRWGGewd49B1QDetuRdFdJqJyaKBPcz21EyvNkfQrBeJAOWholJMaDIu3+IHImg= =5Zlw -----END PGP SIGNATURE----- Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/urgent fix from Arnaldo Carvalho de Melo: - Do not stop processing when out of order events are detected, just count them and notify the user about it after processing all events. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
201e7deb90
@ -214,6 +214,7 @@ struct events_stats {
|
||||
u32 nr_invalid_chains;
|
||||
u32 nr_unknown_id;
|
||||
u32 nr_unprocessable_samples;
|
||||
u32 nr_unordered_events;
|
||||
};
|
||||
|
||||
struct attr_event {
|
||||
|
@ -521,15 +521,11 @@ int perf_session_queue_event(struct perf_session *s, union perf_event *event,
|
||||
return -ETIME;
|
||||
|
||||
if (timestamp < oe->last_flush) {
|
||||
WARN_ONCE(1, "Timestamp below last timeslice flush\n");
|
||||
|
||||
pr_oe_time(timestamp, "out of order event");
|
||||
pr_oe_time(timestamp, "out of order event\n");
|
||||
pr_oe_time(oe->last_flush, "last flush, last_flush_type %d\n",
|
||||
oe->last_flush_type);
|
||||
|
||||
/* We could get out of order messages after forced flush. */
|
||||
if (oe->last_flush_type != OE_FLUSH__HALF)
|
||||
return -EINVAL;
|
||||
s->stats.nr_unordered_events++;
|
||||
}
|
||||
|
||||
new = ordered_events__new(oe, timestamp, event);
|
||||
@ -1057,6 +1053,9 @@ static void perf_session__warn_about_errors(const struct perf_session *session,
|
||||
"Do you have a KVM guest running and not using 'perf kvm'?\n",
|
||||
session->stats.nr_unprocessable_samples);
|
||||
}
|
||||
|
||||
if (session->stats.nr_unordered_events != 0)
|
||||
ui__warning("%u out of order events recorded.\n", session->stats.nr_unordered_events);
|
||||
}
|
||||
|
||||
volatile int session_done;
|
||||
|
Loading…
Reference in New Issue
Block a user