diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-09-13 10:51:04 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-09-13 11:55:23 -0400 |
commit | c13f0d3c8165e9592102687fa999da0a0d9c3724 (patch) | |
tree | 5f679c0b390a7b7f3b0e116c75ecc0f1784c56a2 /tools/perf | |
parent | 459ec28ab404d7afcd512ce9b855959ad301605a (diff) |
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>
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) | |||
3 | 3 | ||
4 | NAME | 4 | NAME |
5 | ---- | 5 | ---- |
6 | perf-sched - Read perf.data (created by perf record) and display sched output | 6 | perf-sched - Tool to trace/measure scheduler properties (latencies) |
7 | 7 | ||
8 | SYNOPSIS | 8 | SYNOPSIS |
9 | -------- | 9 | -------- |
10 | [verse] | 10 | [verse] |
11 | 'perf sched' [-i <file> | --input=file] symbol_name | 11 | 'perf sched' {record|latency|replay|trace} |
12 | 12 | ||
13 | DESCRIPTION | 13 | DESCRIPTION |
14 | ----------- | 14 | ----------- |
15 | This command reads the input file and displays the latencies recorded. | 15 | There's four variants of perf sched: |
16 | |||
17 | 'perf sched record <command>' to record the scheduling events | ||
18 | of an arbitrary workload. | ||
19 | |||
20 | 'perf sched latency' to report the per task scheduling latencies | ||
21 | and other scheduling properties of the workload. | ||
22 | |||
23 | 'perf sched trace' to see a detailed trace of the workload that | ||
24 | was recorded. | ||
25 | |||
26 | 'perf sched replay' to simulate the workload that was recorded | ||
27 | via perf sched record. (this is done by starting up mockup threads | ||
28 | that mimic the workload based on the events in the trace. These | ||
29 | threads can then replay the timings (CPU runtime and sleep patterns) | ||
30 | of the workload as it occured when it was recorded - and can repeat | ||
31 | it a number of times, measuring its performance.) | ||
16 | 32 | ||
17 | OPTIONS | 33 | OPTIONS |
18 | ------- | 34 | ------- |
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: | |||
1597 | } | 1597 | } |
1598 | 1598 | ||
1599 | static const char * const sched_usage[] = { | 1599 | static const char * const sched_usage[] = { |
1600 | "perf sched [<options>] {record|latency|replay}", | 1600 | "perf sched [<options>] {record|latency|replay|trace}", |
1601 | NULL | 1601 | NULL |
1602 | }; | 1602 | }; |
1603 | 1603 | ||
@@ -1719,6 +1719,11 @@ int cmd_sched(int argc, const char **argv, const char *prefix __used) | |||
1719 | usage_with_options(replay_usage, replay_options); | 1719 | usage_with_options(replay_usage, replay_options); |
1720 | } | 1720 | } |
1721 | __cmd_replay(); | 1721 | __cmd_replay(); |
1722 | } else if (!strcmp(argv[0], "trace")) { | ||
1723 | /* | ||
1724 | * Aliased to 'perf trace' for now: | ||
1725 | */ | ||
1726 | return cmd_trace(argc, argv, prefix); | ||
1722 | } else { | 1727 | } else { |
1723 | usage_with_options(sched_usage, sched_options); | 1728 | usage_with_options(sched_usage, sched_options); |
1724 | } | 1729 | } |