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

SEE ALSO

192       perf(1)
193
194
195
196perf                              04/23/2020                     PERF-BENCH(1)
Impressum