1PERF-BENCH(1)                     perf Manual                    PERF-BENCH(1)
2
3
4

NAME

6       perf-bench - General framework for benchmark suites
7

SYNOPSIS

9       perf bench [<common options>] <subsystem> <suite> [<options>]
10

DESCRIPTION

12       This perf bench command is a general framework for benchmark suites.
13

COMMON OPTIONS

15       -r, --repeat=
16           Specify amount of times to repeat the run (default 10).
17
18       -f, --format=
19           Specify format style. Current available format styles are:
20
21       default
22           Default style. This is mainly for human reading.
23
24
25           .ft C
26           % perf bench sched pipe                      # with no style specified
27           (executing 1000000 pipe operations between two tasks)
28                   Total time:5.855 sec
29                           5.855061 usecs/op
30                           170792 ops/sec
31           .ft
32
33
34       simple
35           This simple style is friendly for automated processing by scripts.
36
37
38           .ft C
39           % perf bench --format=simple sched pipe      # specified simple
40           5.988
41           .ft
42
43

SUBSYSTEM

45       sched
46           Scheduler and IPC mechanisms.
47
48       mem
49           Memory access performance.
50
51       numa
52           NUMA scheduling and MM benchmarks.
53
54       futex
55           Futex stressing benchmarks.
56
57       all
58           All benchmark subsystems.
59
60   SUITES FOR sched
61       messaging
62           Suite for evaluating performance of scheduler and IPC mechanisms.
63           Based on hackbench by Rusty Russell.
64
65       Options of messaging
66           -p, --pipe
67               Use pipe() instead of socketpair()
68
69           -t, --thread
70               Be multi thread instead of multi process
71
72           -g, --group=
73               Specify number of groups
74
75           -l, --nr_loops=
76               Specify number of loops
77
78       Example of messaging
79               .ft C
80               % perf bench sched messaging                 # run with default
81               options (20 sender and receiver processes per group)
82               (10 groups == 400 processes run)
83
84                     Total time:0.308 sec
85
86               % perf bench sched messaging -t -g 20        # be multi-thread, with 20 groups
87               (20 sender and receiver threads per group)
88               (20 groups == 800 threads run)
89
90                     Total time:0.582 sec
91               .ft
92
93
94           pipe
95               Suite for pipe() system call. Based on pipe-test-1m.c by Ingo
96               Molnar.
97
98       Options of pipe
99           -l, --loop=
100               Specify number of loops.
101
102       Example of pipe
103               .ft C
104               % perf bench sched pipe
105               (executing 1000000 pipe operations between two tasks)
106
107                       Total time:8.091 sec
108                               8.091833 usecs/op
109                               123581 ops/sec
110
111               % perf bench sched pipe -l 1000              # loop 1000
112               (executing 1000 pipe operations between two tasks)
113
114                       Total time:0.016 sec
115                               16.948000 usecs/op
116                               59004 ops/sec
117               .ft
118
119
120   SUITES FOR mem
121       memcpy
122           Suite for evaluating performance of simple memory copy in various
123           ways.
124
125       Options of memcpy
126           -l, --size
127               Specify size of memory to copy (default: 1MB). Available units
128               are B, KB, MB, GB and TB (case insensitive).
129
130           -f, --function
131               Specify function to copy (default: default). Available
132               functions are depend on the architecture. On x86-64,
133               x86-64-unrolled, x86-64-movsq and x86-64-movsb are supported.
134
135           -l, --nr_loops
136               Repeat memcpy invocation this number of times.
137
138           -c, --cycles
139               Use perf’s cpu-cycles event instead of gettimeofday syscall.
140
141           memset
142               Suite for evaluating performance of simple memory set in
143               various ways.
144
145       Options of memset
146           -l, --size
147               Specify size of memory to set (default: 1MB). Available units
148               are B, KB, MB, GB and TB (case insensitive).
149
150           -f, --function
151               Specify function to set (default: default). Available functions
152               are depend on the architecture. On x86-64, x86-64-unrolled,
153               x86-64-stosq and x86-64-stosb are supported.
154
155           -l, --nr_loops
156               Repeat memset invocation this number of times.
157
158           -c, --cycles
159               Use perf’s cpu-cycles event instead of gettimeofday syscall.
160
161   SUITES FOR numa
162       mem
163           Suite for evaluating NUMA workloads.
164
165   SUITES FOR futex
166       hash
167           Suite for evaluating hash tables.
168
169       wake
170           Suite for evaluating wake calls.
171
172       wake-parallel
173           Suite for evaluating parallel wake calls.
174
175       requeue
176           Suite for evaluating requeue calls.
177
178       lock-pi
179           Suite for evaluating futex lock_pi calls.
180

SEE ALSO

182       perf(1)
183
184
185
186perf                              06/18/2019                     PERF-BENCH(1)
Impressum