diff options
| -rw-r--r-- | tools/perf/builtin-trace.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index 1d034f6fa28a..77f556f7604c 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c | |||
| @@ -11,6 +11,8 @@ | |||
| 11 | 11 | ||
| 12 | static char const *script_name; | 12 | static char const *script_name; |
| 13 | static char const *generate_script_lang; | 13 | static char const *generate_script_lang; |
| 14 | static bool debug_ordering; | ||
| 15 | static u64 last_timestamp; | ||
| 14 | 16 | ||
| 15 | static int default_start_script(const char *script __unused, | 17 | static int default_start_script(const char *script __unused, |
| 16 | int argc __unused, | 18 | int argc __unused, |
| @@ -87,6 +89,14 @@ static int process_sample_event(event_t *event, struct perf_session *session) | |||
| 87 | } | 89 | } |
| 88 | 90 | ||
| 89 | if (session->sample_type & PERF_SAMPLE_RAW) { | 91 | if (session->sample_type & PERF_SAMPLE_RAW) { |
| 92 | if (debug_ordering) { | ||
| 93 | if (data.time < last_timestamp) { | ||
| 94 | pr_err("Samples misordered, previous: %llu " | ||
| 95 | "this: %llu\n", last_timestamp, | ||
| 96 | data.time); | ||
| 97 | } | ||
| 98 | last_timestamp = data.time; | ||
| 99 | } | ||
| 90 | /* | 100 | /* |
| 91 | * FIXME: better resolve from pid from the struct trace_entry | 101 | * FIXME: better resolve from pid from the struct trace_entry |
| 92 | * field, although it should be the same than this perf | 102 | * field, although it should be the same than this perf |
| @@ -532,6 +542,8 @@ static const struct option options[] = { | |||
| 532 | "generate perf-trace.xx script in specified language"), | 542 | "generate perf-trace.xx script in specified language"), |
| 533 | OPT_STRING('i', "input", &input_name, "file", | 543 | OPT_STRING('i', "input", &input_name, "file", |
| 534 | "input file name"), | 544 | "input file name"), |
| 545 | OPT_BOOLEAN('d', "debug-ordering", &debug_ordering, | ||
| 546 | "check that samples time ordering is monotonic"), | ||
| 535 | 547 | ||
| 536 | OPT_END() | 548 | OPT_END() |
| 537 | }; | 549 | }; |
