perf test: Suppress logs in cs-etm testing
authorLeo Yan <leo.yan@linaro.org>
Mon, 15 Feb 2021 11:59:43 +0000 (19:59 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 18 Feb 2021 19:29:06 +0000 (16:29 -0300)
With the option '-v' for the verbose logs, "perf test" outputs tons of
logs for the CoreSight case, the logs are mainly introduced by the
decoding.  And it outputs some trivial info from "perf record" command
and there have debugging info for CPU number and device name when
iterates between ETMs and sinks.

For a neat output format, this patch redirects the output logs to
"/dev/null", thus can avoid to flood logs.  And it removes the redundant
log for CPU number and device name, which have already printed out the
relevant info in the function record_touch_file().

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Basil Eljuse <basil.eljuse@arm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Link: http://lore.kernel.org/lkml/20210215115944.535986-2-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/shell/test_arm_coresight.sh

index 18fde2f..59b6474 100755 (executable)
@@ -33,7 +33,7 @@ record_touch_file() {
        echo "Recording trace (only user mode) with path: CPU$2 => $1"
        rm -f $file
        perf record -o ${perfdata} -e cs_etm/@$1/u --per-thread \
-               -- taskset -c $2 touch $file
+               -- taskset -c $2 touch $file > /dev/null 2>&1
 }
 
 perf_script_branch_samples() {
@@ -43,8 +43,8 @@ perf_script_branch_samples() {
        #   touch  6512          1         branches:u:      ffffb220824c strcmp+0xc (/lib/aarch64-linux-gnu/ld-2.27.so)
        #   touch  6512          1         branches:u:      ffffb22082e0 strcmp+0xa0 (/lib/aarch64-linux-gnu/ld-2.27.so)
        #   touch  6512          1         branches:u:      ffffb2208320 strcmp+0xe0 (/lib/aarch64-linux-gnu/ld-2.27.so)
-       perf script -F,-time -i ${perfdata} | \
-               egrep " +$1 +[0-9]+ .* +branches:(.*:)? +"
+       perf script -F,-time -i ${perfdata} 2>&1 | \
+               egrep " +$1 +[0-9]+ .* +branches:(.*:)? +" > /dev/null 2>&1
 }
 
 perf_report_branch_samples() {
@@ -54,8 +54,8 @@ perf_report_branch_samples() {
        #   73.04%    73.04%  touch    libc-2.27.so      [.] _dl_addr
        #    7.71%     7.71%  touch    libc-2.27.so      [.] getenv
        #    2.59%     2.59%  touch    ld-2.27.so        [.] strcmp
-       perf report --stdio -i ${perfdata} | \
-               egrep " +[0-9]+\.[0-9]+% +[0-9]+\.[0-9]+% +$1 "
+       perf report --stdio -i ${perfdata} 2>&1 | \
+               egrep " +[0-9]+\.[0-9]+% +[0-9]+\.[0-9]+% +$1 " > /dev/null 2>&1
 }
 
 perf_report_instruction_samples() {
@@ -65,8 +65,8 @@ perf_report_instruction_samples() {
        #   68.12%  touch    libc-2.27.so   [.] _dl_addr
        #    5.80%  touch    libc-2.27.so   [.] getenv
        #    4.35%  touch    ld-2.27.so     [.] _dl_fixup
-       perf report --itrace=i1000i --stdio -i ${perfdata} | \
-               egrep " +[0-9]+\.[0-9]+% +$1"
+       perf report --itrace=i1000i --stdio -i ${perfdata} 2>&1 | \
+               egrep " +[0-9]+\.[0-9]+% +$1" > /dev/null 2>&1
 }
 
 is_device_sink() {
@@ -129,9 +129,6 @@ arm_cs_etm_traverse_path_test() {
                # Find the ETM device belonging to which CPU
                cpu=`cat $dev/cpu`
 
-               echo $dev
-               echo $cpu
-
                # Use depth-first search (DFS) to iterate outputs
                arm_cs_iterate_devices $dev $cpu
        done
@@ -139,7 +136,7 @@ arm_cs_etm_traverse_path_test() {
 
 arm_cs_etm_system_wide_test() {
        echo "Recording trace with system wide mode"
-       perf record -o ${perfdata} -e cs_etm// -a -- ls
+       perf record -o ${perfdata} -e cs_etm// -a -- ls > /dev/null 2>&1
 
        perf_script_branch_samples perf &&
        perf_report_branch_samples perf &&
@@ -154,7 +151,7 @@ arm_cs_etm_system_wide_test() {
 arm_cs_etm_snapshot_test() {
        echo "Recording trace with snapshot mode"
        perf record -o ${perfdata} -e cs_etm// -S \
-               -- dd if=/dev/zero of=/dev/null &
+               -- dd if=/dev/zero of=/dev/null > /dev/null 2>&1 &
        PERFPID=$!
 
        # Wait for perf program