Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1250433
| From | Ingo Molnar <mingo@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 02/14] perf/bench: Default to all routines in 'perf bench mem' |
| Date | 2015-10-19 10:20 +0200 |
| Message-ID | <qldPH-74y-5@gated-at.bofh.it> (permalink) |
| References | <qldG1-6ST-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
So few people know that the --routine option to 'perf bench memcpy/memset' exists,
and would not know that it's capable of testing the kernel's memcpy/memset
implementations.
Furthermore, 'perf bench mem all' will not run all routines:
vega:~> perf bench mem all
# Running mem/memcpy benchmark...
Routine default (Default memcpy() provided by glibc)
# Copying 1MB Bytes ...
894.454383 MB/Sec
3.844734 GB/Sec (with prefault)
# Running mem/memset benchmark...
Routine default (Default memset() provided by glibc)
# Copying 1MB Bytes ...
1.220703 GB/Sec
9.042245 GB/Sec (with prefault)
Because misleadingly the 'all' refers to 'all sub-benchmarks', not 'all sub-benchmarks
and routines'.
Fix all this by making the memcpy/memset routine to default to 'all', which results in
all the benchmarks being run:
triton:~> perf bench mem all
# Running mem/memcpy benchmark...
Routine default (Default memcpy() provided by glibc)
# Copying 1MB Bytes ...
1.448906 GB/Sec
4.957170 GB/Sec (with prefault)
Routine x86-64-unrolled (unrolled memcpy() in arch/x86/lib/memcpy_64.S)
# Copying 1MB Bytes ...
1.614153 GB/Sec
4.379204 GB/Sec (with prefault)
Routine x86-64-movsq (movsq-based memcpy() in arch/x86/lib/memcpy_64.S)
# Copying 1MB Bytes ...
1.570036 GB/Sec
4.264465 GB/Sec (with prefault)
Routine x86-64-movsb (movsb-based memcpy() in arch/x86/lib/memcpy_64.S)
# Copying 1MB Bytes ...
1.788576 GB/Sec
6.554111 GB/Sec (with prefault)
# Running mem/memset benchmark...
Routine default (Default memset() provided by glibc)
# Copying 1MB Bytes ...
2.082223 GB/Sec
9.126752 GB/Sec (with prefault)
Routine x86-64-unrolled (unrolled memset() in arch/x86/lib/memset_64.S)
# Copying 1MB Bytes ...
5.710892 GB/Sec
8.346688 GB/Sec (with prefault)
Routine x86-64-stosq (movsq-based memset() in arch/x86/lib/memset_64.S)
# Copying 1MB Bytes ...
9.765625 GB/Sec
12.520032 GB/Sec (with prefault)
Routine x86-64-stosb (movsb-based memset() in arch/x86/lib/memset_64.S)
# Copying 1MB Bytes ...
9.668936 GB/Sec
12.682630 GB/Sec (with prefault)
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
tools/perf/bench/mem-memcpy.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/perf/bench/mem-memcpy.c b/tools/perf/bench/mem-memcpy.c
index 27606ff5c4f9..263f84171ae5 100644
--- a/tools/perf/bench/mem-memcpy.c
+++ b/tools/perf/bench/mem-memcpy.c
@@ -24,7 +24,7 @@
#define K 1024
static const char *length_str = "1MB";
-static const char *routine = "default";
+static const char *routine = "all";
static int iterations = 1;
static bool use_cycle;
static int cycle_fd;
@@ -35,7 +35,7 @@ static const struct option options[] = {
OPT_STRING('l', "length", &length_str, "1MB",
"Specify length of memory to copy. "
"Available units: B, KB, MB, GB and TB (upper and lower)"),
- OPT_STRING('r', "routine", &routine, "default",
+ OPT_STRING('r', "routine", &routine, "all",
"Specify routine to copy, \"all\" runs all available routines"),
OPT_INTEGER('i', "iterations", &iterations,
"repeat memcpy() invocation this number of times"),
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/14] perf bench: Misc improvements Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
[PATCH 12/14] perf/bench: Harmonize all the -l/--nr_loops options Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
[tip:perf/core] perf bench: Harmonize all the -l/ --nr_loops options tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 09/14] perf/bench/mem: Fix 'length' vs. 'size' naming confusion Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
[tip:perf/core] perf bench mem: Fix 'length' vs. 'size' naming confusion tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 07/14] perf/bench/mem: Change 'cycle' to 'cycles' Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
[tip:perf/core] perf bench mem: Change 'cycle' to 'cycles' tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 14/14] perf/bench: Run benchmarks, don't test them Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
[tip:perf/core] perf bench: Run benchmarks, don't test them tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 10/14] perf/bench/mem: Improve user visible strings Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
[tip:perf/core] perf bench mem: Improve user visible strings tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 11/14] perf/bench/mem: Reorganize the code a bit Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
[tip:perf/core] perf bench mem: Reorganize the code a bit tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 13/14] perf/bench/mem: Rename 'routine' to 'function' Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
[tip:perf/core] perf bench mem: Rename 'routine' to 'function' tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 08/14] perf/bench/mem: Rename 'routine' to 'routine_str' Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:10 +0200
Re: [PATCH 08/14] perf/bench/mem: Rename 'routine' to 'routine_str' David Ahern <dsahern@gmail.com> - 2015-10-19 15:40 +0200
Re: [PATCH 08/14] perf/bench/mem: Rename 'routine' to 'routine_str' Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-10-19 21:00 +0200
Re: [PATCH 08/14] perf/bench/mem: Rename 'routine' to 'routine_str' Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-10-19 21:00 +0200
Re: [PATCH 08/14] perf/bench/mem: Rename 'routine' to 'routine_str' Ingo Molnar <mingo@kernel.org> - 2015-10-19 21:10 +0200
Re: [PATCH 08/14] perf/bench/mem: Rename 'routine' to 'routine_str' Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-10-19 21:30 +0200
Re: [PATCH 08/14] perf/bench/mem: Rename 'routine' to 'routine_str' Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-10-19 21:30 +0200
Re: [PATCH 08/14] perf/bench/mem: Rename 'routine' to 'routine_str' Ingo Molnar <mingo@kernel.org> - 2015-10-20 09:40 +0200
[tip:perf/core] perf bench mem: Rename 'routine' to 'routine_str' tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 02/14] perf/bench: Default to all routines in 'perf bench mem' Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:20 +0200
Re: [PATCH 02/14] perf/bench: Default to all routines in 'perf bench mem' Linus Torvalds <torvalds@linux-foundation.org> - 2015-10-19 17:30 +0200
Re: [PATCH 02/14] perf/bench: Default to all routines in 'perf bench mem' Ingo Molnar <mingo@kernel.org> - 2015-10-19 19:50 +0200
[tip:perf/core] perf bench: Default to all routines in ' perf bench mem' tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 06/14] perf/bench: List output formatting options on 'perf bench -h' Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:20 +0200
Re: [PATCH 06/14] perf/bench: List output formatting options on 'perf bench -h' David Ahern <dsahern@gmail.com> - 2015-10-19 15:30 +0200
Re: [PATCH 06/14] perf/bench: List output formatting options on 'perf bench -h' Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-10-19 21:00 +0200
[tip:perf/core] perf bench: List output formatting options on ' perf bench -h' tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 05/14] perf/bench: Remove the prefaulting complication from 'perf bench mem mem*' Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:20 +0200
[tip:perf/core] perf bench: Remove the prefaulting complication from 'perf bench mem mem*' tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 04/14] perf/bench: Rename 'mem-memcpy.c' => 'mem-functions.c' Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:20 +0200
Re: [PATCH 04/14] perf/bench: Rename 'mem-memcpy.c' => 'mem-functions.c' Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-10-19 20:40 +0200
Re: [PATCH 04/14] perf/bench: Rename 'mem-memcpy.c' => 'mem-functions.c' Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-10-19 20:40 +0200
[tip:perf/core] perf bench: Rename 'mem-memcpy.c' => ' mem-functions.c' tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 03/14] perf/bench: Eliminate unused argument from bench_mem_common() Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:20 +0200
[tip:perf/core] perf bench: Eliminate unused argument from bench_mem_common() tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
[PATCH 01/14] perf/bench: Improve the 'perf bench mem memcpy' code readability Ingo Molnar <mingo@kernel.org> - 2015-10-19 10:20 +0200
[tip:perf/core] perf bench: Improve the 'perf bench mem memcpy' code readability tip-bot for Ingo Molnar <tipbot@zytor.com> - 2015-10-20 09:50 +0200
Re: [PATCH 00/14] perf bench: Misc improvements David Ahern <dsahern@gmail.com> - 2015-10-19 15:50 +0200
Re: [PATCH 00/14] perf bench: Misc improvements Arnaldo Carvalho de Melo <acme@redhat.com> - 2015-10-19 21:10 +0200
csiph-web