diff options
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/Documentation/perf-bench.txt | 78 | ||||
-rw-r--r-- | tools/perf/bench/mem-memcpy.c | 4 | ||||
-rw-r--r-- | tools/perf/bench/mem-memset.c | 8 | ||||
-rw-r--r-- | tools/perf/builtin-bench.c | 4 |
4 files changed, 83 insertions, 11 deletions
diff --git a/tools/perf/Documentation/perf-bench.txt b/tools/perf/Documentation/perf-bench.txt index a3dbadb26ef5..f3c716a4cad3 100644 --- a/tools/perf/Documentation/perf-bench.txt +++ b/tools/perf/Documentation/perf-bench.txt | |||
@@ -12,7 +12,7 @@ SYNOPSIS | |||
12 | 12 | ||
13 | DESCRIPTION | 13 | DESCRIPTION |
14 | ----------- | 14 | ----------- |
15 | This 'perf bench' command is general framework for benchmark suites. | 15 | This 'perf bench' command is a general framework for benchmark suites. |
16 | 16 | ||
17 | COMMON OPTIONS | 17 | COMMON OPTIONS |
18 | -------------- | 18 | -------------- |
@@ -45,14 +45,20 @@ SUBSYSTEM | |||
45 | 'sched':: | 45 | 'sched':: |
46 | Scheduler and IPC mechanisms. | 46 | Scheduler and IPC mechanisms. |
47 | 47 | ||
48 | 'mem':: | ||
49 | Memory access performance. | ||
50 | |||
51 | 'all':: | ||
52 | All benchmark subsystems. | ||
53 | |||
48 | SUITES FOR 'sched' | 54 | SUITES FOR 'sched' |
49 | ~~~~~~~~~~~~~~~~~~ | 55 | ~~~~~~~~~~~~~~~~~~ |
50 | *messaging*:: | 56 | *messaging*:: |
51 | Suite for evaluating performance of scheduler and IPC mechanisms. | 57 | Suite for evaluating performance of scheduler and IPC mechanisms. |
52 | Based on hackbench by Rusty Russell. | 58 | Based on hackbench by Rusty Russell. |
53 | 59 | ||
54 | Options of *pipe* | 60 | Options of *messaging* |
55 | ^^^^^^^^^^^^^^^^^ | 61 | ^^^^^^^^^^^^^^^^^^^^^^ |
56 | -p:: | 62 | -p:: |
57 | --pipe:: | 63 | --pipe:: |
58 | Use pipe() instead of socketpair() | 64 | Use pipe() instead of socketpair() |
@@ -115,6 +121,72 @@ Example of *pipe* | |||
115 | 59004 ops/sec | 121 | 59004 ops/sec |
116 | --------------------- | 122 | --------------------- |
117 | 123 | ||
124 | SUITES FOR 'mem' | ||
125 | ~~~~~~~~~~~~~~~~ | ||
126 | *memcpy*:: | ||
127 | Suite for evaluating performance of simple memory copy in various ways. | ||
128 | |||
129 | Options of *memcpy* | ||
130 | ^^^^^^^^^^^^^^^^^^^ | ||
131 | -l:: | ||
132 | --length:: | ||
133 | Specify length of memory to copy (default: 1MB). | ||
134 | Available units are B, KB, MB, GB and TB (case insensitive). | ||
135 | |||
136 | -r:: | ||
137 | --routine:: | ||
138 | Specify routine to copy (default: default). | ||
139 | Available routines are depend on the architecture. | ||
140 | On x86-64, x86-64-unrolled, x86-64-movsq and x86-64-movsb are supported. | ||
141 | |||
142 | -i:: | ||
143 | --iterations:: | ||
144 | Repeat memcpy invocation this number of times. | ||
145 | |||
146 | -c:: | ||
147 | --clock:: | ||
148 | Use perf's cpu-cycles event instead of gettimeofday syscall. | ||
149 | |||
150 | -o:: | ||
151 | --only-prefault:: | ||
152 | Show only the result with page faults before memcpy. | ||
153 | |||
154 | -n:: | ||
155 | --no-prefault:: | ||
156 | Show only the result without page faults before memcpy. | ||
157 | |||
158 | *memset*:: | ||
159 | Suite for evaluating performance of simple memory set in various ways. | ||
160 | |||
161 | Options of *memset* | ||
162 | ^^^^^^^^^^^^^^^^^^^ | ||
163 | -l:: | ||
164 | --length:: | ||
165 | Specify length of memory to set (default: 1MB). | ||
166 | Available units are B, KB, MB, GB and TB (case insensitive). | ||
167 | |||
168 | -r:: | ||
169 | --routine:: | ||
170 | Specify routine to set (default: default). | ||
171 | Available routines are depend on the architecture. | ||
172 | On x86-64, x86-64-unrolled, x86-64-stosq and x86-64-stosb are supported. | ||
173 | |||
174 | -i:: | ||
175 | --iterations:: | ||
176 | Repeat memset invocation this number of times. | ||
177 | |||
178 | -c:: | ||
179 | --clock:: | ||
180 | Use perf's cpu-cycles event instead of gettimeofday syscall. | ||
181 | |||
182 | -o:: | ||
183 | --only-prefault:: | ||
184 | Show only the result with page faults before memset. | ||
185 | |||
186 | -n:: | ||
187 | --no-prefault:: | ||
188 | Show only the result without page faults before memset. | ||
189 | |||
118 | SEE ALSO | 190 | SEE ALSO |
119 | -------- | 191 | -------- |
120 | linkperf:perf[1] | 192 | linkperf:perf[1] |
diff --git a/tools/perf/bench/mem-memcpy.c b/tools/perf/bench/mem-memcpy.c index 71557225bf92..d990365cafa0 100644 --- a/tools/perf/bench/mem-memcpy.c +++ b/tools/perf/bench/mem-memcpy.c | |||
@@ -32,13 +32,13 @@ static bool no_prefault; | |||
32 | static const struct option options[] = { | 32 | static const struct option options[] = { |
33 | OPT_STRING('l', "length", &length_str, "1MB", | 33 | OPT_STRING('l', "length", &length_str, "1MB", |
34 | "Specify length of memory to copy. " | 34 | "Specify length of memory to copy. " |
35 | "available unit: B, MB, GB (upper and lower)"), | 35 | "Available units: B, KB, MB, GB and TB (upper and lower)"), |
36 | OPT_STRING('r', "routine", &routine, "default", | 36 | OPT_STRING('r', "routine", &routine, "default", |
37 | "Specify routine to copy"), | 37 | "Specify routine to copy"), |
38 | OPT_INTEGER('i', "iterations", &iterations, | 38 | OPT_INTEGER('i', "iterations", &iterations, |
39 | "repeat memcpy() invocation this number of times"), | 39 | "repeat memcpy() invocation this number of times"), |
40 | OPT_BOOLEAN('c', "clock", &use_clock, | 40 | OPT_BOOLEAN('c', "clock", &use_clock, |
41 | "Use CPU clock for measuring"), | 41 | "Use cycles event instead of gettimeofday() for measuring"), |
42 | OPT_BOOLEAN('o', "only-prefault", &only_prefault, | 42 | OPT_BOOLEAN('o', "only-prefault", &only_prefault, |
43 | "Show only the result with page faults before memcpy()"), | 43 | "Show only the result with page faults before memcpy()"), |
44 | OPT_BOOLEAN('n', "no-prefault", &no_prefault, | 44 | OPT_BOOLEAN('n', "no-prefault", &no_prefault, |
diff --git a/tools/perf/bench/mem-memset.c b/tools/perf/bench/mem-memset.c index e9079185bd72..bf0d5f552017 100644 --- a/tools/perf/bench/mem-memset.c +++ b/tools/perf/bench/mem-memset.c | |||
@@ -31,14 +31,14 @@ static bool no_prefault; | |||
31 | 31 | ||
32 | static const struct option options[] = { | 32 | static const struct option options[] = { |
33 | OPT_STRING('l', "length", &length_str, "1MB", | 33 | OPT_STRING('l', "length", &length_str, "1MB", |
34 | "Specify length of memory to copy. " | 34 | "Specify length of memory to set. " |
35 | "available unit: B, MB, GB (upper and lower)"), | 35 | "Available units: B, KB, MB, GB and TB (upper and lower)"), |
36 | OPT_STRING('r', "routine", &routine, "default", | 36 | OPT_STRING('r', "routine", &routine, "default", |
37 | "Specify routine to copy"), | 37 | "Specify routine to set"), |
38 | OPT_INTEGER('i', "iterations", &iterations, | 38 | OPT_INTEGER('i', "iterations", &iterations, |
39 | "repeat memset() invocation this number of times"), | 39 | "repeat memset() invocation this number of times"), |
40 | OPT_BOOLEAN('c', "clock", &use_clock, | 40 | OPT_BOOLEAN('c', "clock", &use_clock, |
41 | "Use CPU clock for measuring"), | 41 | "Use cycles event instead of gettimeofday() for measuring"), |
42 | OPT_BOOLEAN('o', "only-prefault", &only_prefault, | 42 | OPT_BOOLEAN('o', "only-prefault", &only_prefault, |
43 | "Show only the result with page faults before memset()"), | 43 | "Show only the result with page faults before memset()"), |
44 | OPT_BOOLEAN('n', "no-prefault", &no_prefault, | 44 | OPT_BOOLEAN('n', "no-prefault", &no_prefault, |
diff --git a/tools/perf/builtin-bench.c b/tools/perf/builtin-bench.c index b0e74ab2d7a2..1f3100216448 100644 --- a/tools/perf/builtin-bench.c +++ b/tools/perf/builtin-bench.c | |||
@@ -33,7 +33,7 @@ struct bench_suite { | |||
33 | }; | 33 | }; |
34 | \ | 34 | \ |
35 | /* sentinel: easy for help */ | 35 | /* sentinel: easy for help */ |
36 | #define suite_all { "all", "test all suite (pseudo suite)", NULL } | 36 | #define suite_all { "all", "Test all benchmark suites", NULL } |
37 | 37 | ||
38 | static struct bench_suite sched_suites[] = { | 38 | static struct bench_suite sched_suites[] = { |
39 | { "messaging", | 39 | { "messaging", |
@@ -75,7 +75,7 @@ static struct bench_subsys subsystems[] = { | |||
75 | "memory access performance", | 75 | "memory access performance", |
76 | mem_suites }, | 76 | mem_suites }, |
77 | { "all", /* sentinel: easy for help */ | 77 | { "all", /* sentinel: easy for help */ |
78 | "test all subsystem (pseudo subsystem)", | 78 | "all benchmark subsystem", |
79 | NULL }, | 79 | NULL }, |
80 | { NULL, | 80 | { NULL, |
81 | NULL, | 81 | NULL, |