--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.
 
  */
 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";
 
                    "be more verbose (show symbol address, etc)"),
        OPT_BOOLEAN('F', "dont-fork", &dont_fork,
                    "Do not fork for testcase"),
+       OPT_BOOLEAN('p', "parallel", ¶llel, "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"),
 
        if (dont_fork)
                sequential = true;
+       else if (parallel)
+               sequential = false;
 
        symbol_conf.priv_size = sizeof(int);
        symbol_conf.try_vmlinux_path = true;