| 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] | 
| Jiri Olsa | e78cb36 | 2011-09-27 11:16:35 +0200 | [diff] [blame] | 11 | 'perf sched' {record|latency|map|replay|script} | 
| 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 |  | 
| Jiri Olsa | e78cb36 | 2011-09-27 11:16:35 +0200 | [diff] [blame] | 23 | 'perf sched script' to see a detailed trace of the workload that | 
|  | 24 | was recorded (aliased to 'perf script' for now). | 
| Ingo Molnar | c13f0d3 | 2009-09-13 16:51:04 +0200 | [diff] [blame] | 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] |