kernel_optimize_test/tools/perf/bench
Ingo Molnar 2761974156 perf bench: Default to all routines in 'perf bench mem'
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)

Signed-off-by: Ingo Molnar <mingo@kernel.org>
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>
Link: http://lkml.kernel.org/r/1445241870-24854-3-git-send-email-mingo@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-10-19 15:05:34 -03:00
..
bench.h perf bench futex: Add lock_pi stresser 2015-07-20 17:49:51 -03:00
Build perf bench futex: Add lock_pi stresser 2015-07-20 17:49:51 -03:00
futex-hash.c perf bench futex: Support operations for shared futexes 2014-09-29 15:43:21 -03:00
futex-lock-pi.c perf bench futex: Add lock_pi stresser 2015-07-20 17:49:51 -03:00
futex-requeue.c perf bench futex: Fix hung wakeup tasks after requeueing 2015-04-27 13:57:49 -03:00
futex-wake-parallel.c perf bench futex: Support parallel waker threads 2015-05-08 16:23:50 -03:00
futex-wake.c perf bench futex: Handle spurious wakeups 2015-05-08 16:24:02 -03:00
futex.h perf bench futex: Add lock_pi stresser 2015-07-20 17:49:51 -03:00
mem-memcpy-arch.h tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT 2013-10-09 08:48:28 +02:00
mem-memcpy-x86-64-asm-def.h perf/bench: Fix mem* routines usage after alternatives change 2015-03-03 18:01:10 +01:00
mem-memcpy-x86-64-asm.S perf/bench: Fix mem* routines usage after alternatives change 2015-03-03 18:01:10 +01:00
mem-memcpy.c perf bench: Default to all routines in 'perf bench mem' 2015-10-19 15:05:34 -03:00
mem-memset-arch.h tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT 2013-10-09 08:48:28 +02:00
mem-memset-x86-64-asm-def.h perf/bench: Fix mem* routines usage after alternatives change 2015-03-03 18:01:10 +01:00
mem-memset-x86-64-asm.S perf/bench: Fix mem* routines usage after alternatives change 2015-03-03 18:01:10 +01:00
numa.c perf bench numa: Share sched_getcpu() __weak def with cloexec.c 2015-05-18 12:36:46 -03:00
sched-messaging.c perf tools: Don't include sys/poll.h directly 2014-09-17 17:08:09 -03:00
sched-pipe.c perf tools: Avoid build splat for syscall numbers with uclibc 2015-01-16 17:49:29 -03:00