Commit c13f0d3c authored by Ingo Molnar's avatar Ingo Molnar

perf sched: Add 'perf sched trace', improve documentation

Alias 'perf sched trace' to 'perf trace', for workflow completeness.

Add a bit of documentation for perf sched.

Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 459ec28a
...@@ -3,16 +3,32 @@ perf-sched(1) ...@@ -3,16 +3,32 @@ perf-sched(1)
NAME NAME
---- ----
perf-sched - Read perf.data (created by perf record) and display sched output perf-sched - Tool to trace/measure scheduler properties (latencies)
SYNOPSIS SYNOPSIS
-------- --------
[verse] [verse]
'perf sched' [-i <file> | --input=file] symbol_name 'perf sched' {record|latency|replay|trace}
DESCRIPTION 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 OPTIONS
------- -------
......
...@@ -1597,7 +1597,7 @@ more: ...@@ -1597,7 +1597,7 @@ more:
} }
static const char * const sched_usage[] = { static const char * const sched_usage[] = {
"perf sched [<options>] {record|latency|replay}", "perf sched [<options>] {record|latency|replay|trace}",
NULL NULL
}; };
...@@ -1719,6 +1719,11 @@ int cmd_sched(int argc, const char **argv, const char *prefix __used) ...@@ -1719,6 +1719,11 @@ int cmd_sched(int argc, const char **argv, const char *prefix __used)
usage_with_options(replay_usage, replay_options); usage_with_options(replay_usage, replay_options);
} }
__cmd_replay(); __cmd_replay();
} else if (!strcmp(argv[0], "trace")) {
/*
* Aliased to 'perf trace' for now:
*/
return cmd_trace(argc, argv, prefix);
} else { } else {
usage_with_options(sched_usage, sched_options); usage_with_options(sched_usage, sched_options);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment