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: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Ingo Molnar 2009-09-13 16:51:04 +02:00
parent 459ec28ab4
commit c13f0d3c81
2 changed files with 25 additions and 4 deletions

View file

@ -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
------- -------

View file

@ -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)
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);
} }