'\" t .\" Title: perf-sched .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2017-01-17 .\" Manual: perf Manual .\" Source: perf .\" Language: English .\" .TH "PERF_4.8\-SCHED" "1" "2017\-01\-17" "perf" "perf Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" perf-sched \- Tool to trace/measure scheduler properties (latencies) .SH "SYNOPSIS" .sp .nf \fIperf sched\fR {record|latency|map|replay|script} .fi .SH "DESCRIPTION" .sp There are five variants of perf sched: .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf sched record \*(Aq to record the scheduling events of an arbitrary workload\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf sched latency\*(Aq to report the per task scheduling latencies and other scheduling properties of the workload\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf sched script\*(Aq to see a detailed trace of the workload that was recorded (aliased to \*(Aqperf script\*(Aq for now)\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf sched replay\*(Aq 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 occurred when it was recorded \- and can repeat it a number of times, measuring its performance\&.) .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \*(Aqperf sched map\*(Aq to print a textual context\-switching outline of workload captured via perf sched record\&. Columns stand for individual CPUs, and the two\-letter shortcuts stand for tasks that are running on a CPU\&. A \*(Aq*\*(Aq denotes the CPU that had the event, and a dot signals an idle CPU\&. .fi .if n \{\ .RE .\} .SH "OPTIONS" .PP \-i, \-\-input= .RS 4 Input file name\&. (default: perf\&.data unless stdin is a fifo) .RE .PP \-v, \-\-verbose .RS 4 Be more verbose\&. (show symbol address, etc) .RE .PP \-D, \-\-dump\-raw\-trace= .RS 4 Display verbose dump of the sched data\&. .RE .SH "OPTIONS FOR \FIPERF SCHED MAP\FR" .PP \-\-compact .RS 4 Show only CPUs with activity\&. Helps visualizing on high core count systems\&. .RE .PP \-\-cpus .RS 4 Show just entries with activities for the given CPUs\&. .RE .PP \-\-color\-cpus .RS 4 Highlight the given cpus\&. .RE .PP \-\-color\-pids .RS 4 Highlight the given pids\&. .RE .SH "SEE ALSO" .sp \fBperf_4.8-record\fR(1)