| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 1 | perf-sched(1) | 
 | 2 | ============== | 
 | 3 |  | 
 | 4 | NAME | 
 | 5 | ---- | 
| Ingo Molnar | c13f0d3 | 2009-09-13 16:51:04 +0200 | [diff] [blame] | 6 | perf-sched - Tool to trace/measure scheduler properties (latencies) | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 7 |  | 
 | 8 | SYNOPSIS | 
 | 9 | -------- | 
 | 10 | [verse] | 
| Shawn Bohrer | 1eacc94 | 2010-11-30 19:57:18 -0600 | [diff] [blame] | 11 | 'perf sched' {record|latency|map|replay|trace} | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 12 |  | 
 | 13 | DESCRIPTION | 
 | 14 | ----------- | 
| Shawn Bohrer | 1eacc94 | 2010-11-30 19:57:18 -0600 | [diff] [blame] | 15 | There are five variants of perf sched: | 
| Ingo Molnar | c13f0d3 | 2009-09-13 16:51:04 +0200 | [diff] [blame] | 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) | 
| Randy Dunlap | 854c554 | 2010-03-31 11:31:00 -0700 | [diff] [blame] | 30 |   of the workload as it occurred when it was recorded - and can repeat | 
| Ingo Molnar | c13f0d3 | 2009-09-13 16:51:04 +0200 | [diff] [blame] | 31 |   it a number of times, measuring its performance.) | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 32 |  | 
| Shawn Bohrer | 1eacc94 | 2010-11-30 19:57:18 -0600 | [diff] [blame] | 33 |   'perf sched map' to print a textual context-switching outline of | 
 | 34 |   workload captured via perf sched record.  Columns stand for | 
 | 35 |   individual CPUs, and the two-letter shortcuts stand for tasks that | 
 | 36 |   are running on a CPU. A '*' denotes the CPU that had the event, and | 
 | 37 |   a dot signals an idle CPU. | 
 | 38 |  | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 39 | OPTIONS | 
 | 40 | ------- | 
| Shawn Bohrer | 1eacc94 | 2010-11-30 19:57:18 -0600 | [diff] [blame] | 41 | -i:: | 
 | 42 | --input=<file>:: | 
 | 43 |         Input file name. (default: perf.data) | 
 | 44 |  | 
 | 45 | -v:: | 
 | 46 | --verbose:: | 
 | 47 |         Be more verbose. (show symbol address, etc) | 
 | 48 |  | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 49 | -D:: | 
 | 50 | --dump-raw-trace=:: | 
 | 51 |         Display verbose dump of the sched data. | 
 | 52 |  | 
 | 53 | SEE ALSO | 
 | 54 | -------- | 
 | 55 | linkperf:perf-record[1] |