summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/Documentation/perf-test.txt13
-rw-r--r--tools/perf/tests/builtin-test.c8
2 files changed, 19 insertions, 2 deletions
diff --git a/tools/perf/Documentation/perf-test.txt b/tools/perf/Documentation/perf-test.txt
index 951a2f262872..9acb8d1f6588 100644
--- a/tools/perf/Documentation/perf-test.txt
+++ b/tools/perf/Documentation/perf-test.txt
@@ -31,9 +31,20 @@ OPTIONS
--verbose::
Be more verbose.
+-S::
+--sequential::
+ Run tests one after the other, this is the default mode.
+
+-p::
+--parallel::
+ Run tests in parallel, speeds up the whole process but is not safe with
+ the current infrastructure, where some tests that compete for some resources,
+ for instance, 'perf probe' tests that add/remove probes or clean all probes, etc.
+
-F::
--dont-fork::
- Do not fork child for each test, run all tests within single process.
+ Do not fork child for each test, run all tests within single process, this
+ sets sequential mode.
--dso::
Specify a DSO for the "Symbols" test.
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 73f53b02f733..c3d84b67ca8e 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -40,7 +40,10 @@
*/
static bool dont_fork;
/* Don't fork the tests in parallel and wait for their completion. */
-static bool sequential;
+static bool sequential = true;
+/* Do it in parallel, lacks infrastructure to avoid running tests that clash for resources,
+ * So leave it as the developers choice to enable while working on the needed infra */
+static bool parallel;
const char *dso_to_test;
const char *test_objdump_path = "objdump";
@@ -536,6 +539,7 @@ int cmd_test(int argc, const char **argv)
"be more verbose (show symbol address, etc)"),
OPT_BOOLEAN('F', "dont-fork", &dont_fork,
"Do not fork for testcase"),
+ OPT_BOOLEAN('p', "parallel", &parallel, "Run the tests in parallel"),
OPT_BOOLEAN('S', "sequential", &sequential,
"Run the tests one after another rather than in parallel"),
OPT_STRING('w', "workload", &workload, "work", "workload to run for testing"),
@@ -566,6 +570,8 @@ int cmd_test(int argc, const char **argv)
if (dont_fork)
sequential = true;
+ else if (parallel)
+ sequential = false;
symbol_conf.priv_size = sizeof(int);
symbol_conf.try_vmlinux_path = true;