kvm tools, setup: Create private directory
[linux-2.6/next.git] / tools / perf / Documentation / perf-bench.txt
bloba3dbadb26ef596d29f6e2e9c3a5326bff4dfdad7
1 perf-bench(1)
2 =============
4 NAME
5 ----
6 perf-bench - General framework for benchmark suites
8 SYNOPSIS
9 --------
10 [verse]
11 'perf bench' [<common options>] <subsystem> <suite> [<options>]
13 DESCRIPTION
14 -----------
15 This 'perf bench' command is general framework for benchmark suites.
17 COMMON OPTIONS
18 --------------
19 -f::
20 --format=::
21 Specify format style.
22 Current available format styles are:
24 'default'::
25 Default style. This is mainly for human reading.
26 ---------------------
27 % perf bench sched pipe                      # with no style specified
28 (executing 1000000 pipe operations between two tasks)
29         Total time:5.855 sec
30                 5.855061 usecs/op
31                 170792 ops/sec
32 ---------------------
34 'simple'::
35 This simple style is friendly for automated
36 processing by scripts.
37 ---------------------
38 % perf bench --format=simple sched pipe      # specified simple
39 5.988
40 ---------------------
42 SUBSYSTEM
43 ---------
45 'sched'::
46         Scheduler and IPC mechanisms.
48 SUITES FOR 'sched'
49 ~~~~~~~~~~~~~~~~~~
50 *messaging*::
51 Suite for evaluating performance of scheduler and IPC mechanisms.
52 Based on hackbench by Rusty Russell.
54 Options of *pipe*
55 ^^^^^^^^^^^^^^^^^
56 -p::
57 --pipe::
58 Use pipe() instead of socketpair()
60 -t::
61 --thread::
62 Be multi thread instead of multi process
64 -g::
65 --group=::
66 Specify number of groups
68 -l::
69 --loop=::
70 Specify number of loops
72 Example of *messaging*
73 ^^^^^^^^^^^^^^^^^^^^^^
75 ---------------------
76 % perf bench sched messaging                 # run with default
77 options (20 sender and receiver processes per group)
78 (10 groups == 400 processes run)
80       Total time:0.308 sec
82 % perf bench sched messaging -t -g 20        # be multi-thread, with 20 groups
83 (20 sender and receiver threads per group)
84 (20 groups == 800 threads run)
86       Total time:0.582 sec
87 ---------------------
89 *pipe*::
90 Suite for pipe() system call.
91 Based on pipe-test-1m.c by Ingo Molnar.
93 Options of *pipe*
94 ^^^^^^^^^^^^^^^^^
95 -l::
96 --loop=::
97 Specify number of loops.
99 Example of *pipe*
100 ^^^^^^^^^^^^^^^^^
102 ---------------------
103 % perf bench sched pipe
104 (executing 1000000 pipe operations between two tasks)
106         Total time:8.091 sec
107                 8.091833 usecs/op
108                 123581 ops/sec
110 % perf bench sched pipe -l 1000              # loop 1000
111 (executing 1000 pipe operations between two tasks)
113         Total time:0.016 sec
114                 16.948000 usecs/op
115                 59004 ops/sec
116 ---------------------
118 SEE ALSO
119 --------
120 linkperf:perf[1]