Skip to content

Commit

Permalink
perf bench: Documentation update
Browse files Browse the repository at this point in the history
The current perf-bench documentation has a couple of typos and even
lacks entire description of mem subsystem. Fix it.

Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1340172486-17805-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Namhyung Kim authored and Arnaldo Carvalho de Melo committed Jun 27, 2012
1 parent 209bd9e commit 08942f6
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 11 deletions.
78 changes: 75 additions & 3 deletions tools/perf/Documentation/perf-bench.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ SYNOPSIS

DESCRIPTION
-----------
This 'perf bench' command is general framework for benchmark suites.
This 'perf bench' command is a general framework for benchmark suites.

COMMON OPTIONS
--------------
Expand Down Expand Up @@ -45,14 +45,20 @@ SUBSYSTEM
'sched'::
Scheduler and IPC mechanisms.

'mem'::
Memory access performance.

'all'::
All benchmark subsystems.

SUITES FOR 'sched'
~~~~~~~~~~~~~~~~~~
*messaging*::
Suite for evaluating performance of scheduler and IPC mechanisms.
Based on hackbench by Rusty Russell.

Options of *pipe*
^^^^^^^^^^^^^^^^^
Options of *messaging*
^^^^^^^^^^^^^^^^^^^^^^
-p::
--pipe::
Use pipe() instead of socketpair()
Expand Down Expand Up @@ -115,6 +121,72 @@ Example of *pipe*
59004 ops/sec
---------------------

SUITES FOR 'mem'
~~~~~~~~~~~~~~~~
*memcpy*::
Suite for evaluating performance of simple memory copy in various ways.

Options of *memcpy*
^^^^^^^^^^^^^^^^^^^
-l::
--length::
Specify length of memory to copy (default: 1MB).
Available units are B, KB, MB, GB and TB (case insensitive).

-r::
--routine::
Specify routine to copy (default: default).
Available routines are depend on the architecture.
On x86-64, x86-64-unrolled, x86-64-movsq and x86-64-movsb are supported.

-i::
--iterations::
Repeat memcpy invocation this number of times.

-c::
--clock::
Use perf's cpu-cycles event instead of gettimeofday syscall.

-o::
--only-prefault::
Show only the result with page faults before memcpy.

-n::
--no-prefault::
Show only the result without page faults before memcpy.

*memset*::
Suite for evaluating performance of simple memory set in various ways.

Options of *memset*
^^^^^^^^^^^^^^^^^^^
-l::
--length::
Specify length of memory to set (default: 1MB).
Available units are B, KB, MB, GB and TB (case insensitive).

-r::
--routine::
Specify routine to set (default: default).
Available routines are depend on the architecture.
On x86-64, x86-64-unrolled, x86-64-stosq and x86-64-stosb are supported.

-i::
--iterations::
Repeat memset invocation this number of times.

-c::
--clock::
Use perf's cpu-cycles event instead of gettimeofday syscall.

-o::
--only-prefault::
Show only the result with page faults before memset.

-n::
--no-prefault::
Show only the result without page faults before memset.

SEE ALSO
--------
linkperf:perf[1]
4 changes: 2 additions & 2 deletions tools/perf/bench/mem-memcpy.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ static bool no_prefault;
static const struct option options[] = {
OPT_STRING('l', "length", &length_str, "1MB",
"Specify length of memory to copy. "
"available unit: B, MB, GB (upper and lower)"),
"Available units: B, KB, MB, GB and TB (upper and lower)"),
OPT_STRING('r', "routine", &routine, "default",
"Specify routine to copy"),
OPT_INTEGER('i', "iterations", &iterations,
"repeat memcpy() invocation this number of times"),
OPT_BOOLEAN('c', "clock", &use_clock,
"Use CPU clock for measuring"),
"Use cycles event instead of gettimeofday() for measuring"),
OPT_BOOLEAN('o', "only-prefault", &only_prefault,
"Show only the result with page faults before memcpy()"),
OPT_BOOLEAN('n', "no-prefault", &no_prefault,
Expand Down
8 changes: 4 additions & 4 deletions tools/perf/bench/mem-memset.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ static bool no_prefault;

static const struct option options[] = {
OPT_STRING('l', "length", &length_str, "1MB",
"Specify length of memory to copy. "
"available unit: B, MB, GB (upper and lower)"),
"Specify length of memory to set. "
"Available units: B, KB, MB, GB and TB (upper and lower)"),
OPT_STRING('r', "routine", &routine, "default",
"Specify routine to copy"),
"Specify routine to set"),
OPT_INTEGER('i', "iterations", &iterations,
"repeat memset() invocation this number of times"),
OPT_BOOLEAN('c', "clock", &use_clock,
"Use CPU clock for measuring"),
"Use cycles event instead of gettimeofday() for measuring"),
OPT_BOOLEAN('o', "only-prefault", &only_prefault,
"Show only the result with page faults before memset()"),
OPT_BOOLEAN('n', "no-prefault", &no_prefault,
Expand Down
4 changes: 2 additions & 2 deletions tools/perf/builtin-bench.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ struct bench_suite {
};
\
/* sentinel: easy for help */
#define suite_all { "all", "test all suite (pseudo suite)", NULL }
#define suite_all { "all", "Test all benchmark suites", NULL }

static struct bench_suite sched_suites[] = {
{ "messaging",
Expand Down Expand Up @@ -75,7 +75,7 @@ static struct bench_subsys subsystems[] = {
"memory access performance",
mem_suites },
{ "all", /* sentinel: easy for help */
"test all subsystem (pseudo subsystem)",
"all benchmark subsystem",
NULL },
{ NULL,
NULL,
Expand Down

0 comments on commit 08942f6

Please sign in to comment.