diff --git a/[refs] b/[refs] index 30f893a3f435..294c3bf48d82 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: aa59a48596d8358a908bfb458300b5625cd47785 +refs/heads/master: 6fcf7ddbb73d677b3bb7b16f0fff1419cb8349e9 diff --git a/trunk/tools/perf/builtin-trace.c b/trunk/tools/perf/builtin-trace.c index dddf3f01b5ab..83df8db4f358 100644 --- a/trunk/tools/perf/builtin-trace.c +++ b/trunk/tools/perf/builtin-trace.c @@ -13,6 +13,7 @@ static char const *script_name; static char const *generate_script_lang; static bool debug_ordering; static u64 last_timestamp; +static u64 nr_unordered; static int default_start_script(const char *script __unused, int argc __unused, @@ -96,8 +97,10 @@ static int process_sample_event(event_t *event, struct perf_session *session) pr_err("Samples misordered, previous: %llu " "this: %llu\n", last_timestamp, data.time); + nr_unordered++; } last_timestamp = data.time; + return 0; } /* * FIXME: better resolve from pid from the struct trace_entry @@ -132,9 +135,16 @@ static void sig_handler(int sig __unused) static int __cmd_trace(struct perf_session *session) { + int ret; + signal(SIGINT, sig_handler); - return perf_session__process_events(session, &event_ops); + ret = perf_session__process_events(session, &event_ops); + + if (debug_ordering) + pr_err("Misordered timestamps: %llu\n", nr_unordered); + + return ret; } struct script_spec {