diff options
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/Documentation/perf-sched.txt | 22 | ||||
-rw-r--r-- | tools/perf/builtin-sched.c | 7 |
2 files changed, 25 insertions, 4 deletions
diff --git a/tools/perf/Documentation/perf-sched.txt b/tools/perf/Documentation/perf-sched.txt index 056320eecb3a..1ce79198997b 100644 --- a/tools/perf/Documentation/perf-sched.txt +++ b/tools/perf/Documentation/perf-sched.txt @@ -3,16 +3,32 @@ perf-sched(1) NAME ---- -perf-sched - Read perf.data (created by perf record) and display sched output +perf-sched - Tool to trace/measure scheduler properties (latencies) SYNOPSIS -------- [verse] -'perf sched' [-i <file> | --input=file] symbol_name +'perf sched' {record|latency|replay|trace} DESCRIPTION ----------- -This command reads the input file and displays the latencies recorded. +There's four variants of perf sched: + + 'perf sched record <command>' to record the scheduling events + of an arbitrary workload. + + 'perf sched latency' to report the per task scheduling latencies + and other scheduling properties of the workload. + + 'perf sched trace' to see a detailed trace of the workload that + was recorded. + + 'perf sched replay' to simulate the workload that was recorded + via perf sched record. (this is done by starting up mockup threads + that mimic the workload based on the events in the trace. These + threads can then replay the timings (CPU runtime and sleep patterns) + of the workload as it occured when it was recorded - and can repeat + it a number of times, measuring its performance.) OPTIONS ------- diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index ede40c1429a8..8db0fd222f80 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c @@ -1597,7 +1597,7 @@ more: } static const char * const sched_usage[] = { - "perf sched [<options>] {record|latency|replay}", + "perf sched [<options>] {record|latency|replay|trace}", NULL }; @@ -1719,6 +1719,11 @@ int cmd_sched(int argc, const char **argv, const char *prefix __used) usage_with_options(replay_usage, replay_options); } __cmd_replay(); + } else if (!strcmp(argv[0], "trace")) { + /* + * Aliased to 'perf trace' for now: + */ + return cmd_trace(argc, argv, prefix); } else { usage_with_options(sched_usage, sched_options); } |