[PATCH 8/8] perf test: Add more test cases to sched test

Namhyung Kim posted 8 patches 3 months, 1 week ago
[PATCH 8/8] perf test: Add more test cases to sched test
Posted by Namhyung Kim 3 months, 1 week ago
  $ sudo ./perf test -vv 92
   92: perf sched tests:
  --- start ---
  test child forked, pid 1360101
  Sched record
  pid 1360105's current affinity list: 0-3
  pid 1360105's new affinity list: 0
  pid 1360107's current affinity list: 0-3
  pid 1360107's new affinity list: 0
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 4.330 MB /tmp/__perf_test_sched.perf.data.b3319 (12246 samples) ]
  Sched latency
  Sched script
  Sched map
  Sched timehist
  Samples of sched_switch event do not have callchains.
  ---- end(0) ----
   92: perf sched tests                                                : Ok

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/tests/shell/sched.sh | 39 ++++++++++++++++++++++++++-------
 1 file changed, 31 insertions(+), 8 deletions(-)

diff --git a/tools/perf/tests/shell/sched.sh b/tools/perf/tests/shell/sched.sh
index c030126d1a0c918d..b9b81eaf856e6555 100755
--- a/tools/perf/tests/shell/sched.sh
+++ b/tools/perf/tests/shell/sched.sh
@@ -56,38 +56,61 @@ cleanup_noploops() {
   kill "$PID1" "$PID2"
 }
 
-test_sched_latency() {
-  echo "Sched latency"
+test_sched_record() {
+  echo "Sched record"
 
   start_noploops
 
   perf sched record --no-inherit -o "${perfdata}" sleep 1
+
+  cleanup_noploops
+}
+
+test_sched_latency() {
+  echo "Sched latency"
+
   if ! perf sched latency -i "${perfdata}" | grep -q perf-noploop
   then
     echo "Sched latency [Failed missing output]"
     err=1
   fi
-
-  cleanup_noploops
 }
 
 test_sched_script() {
   echo "Sched script"
 
-  start_noploops
-
-  perf sched record --no-inherit -o "${perfdata}" sleep 1
   if ! perf sched script -i "${perfdata}" | grep -q perf-noploop
   then
     echo "Sched script [Failed missing output]"
     err=1
   fi
+}
 
-  cleanup_noploops
+test_sched_map() {
+  echo "Sched map"
+
+  if ! perf sched map -i "${perfdata}" | grep -q perf-noploop
+  then
+    echo "Sched map [Failed missing output]"
+    err=1
+  fi
+}
+
+test_sched_timehist() {
+  echo "Sched timehist"
+
+  if ! perf sched timehist -i "${perfdata}" | grep -q perf-noploop
+  then
+    echo "Sched timehist [Failed missing output]"
+    err=1
+  fi
 }
 
+test_sched_record
 test_sched_latency
 test_sched_script
+test_sched_map
+test_sched_timehist
 
 cleanup
 exit $err
-- 
2.50.0.727.gbf7dc18ff4-goog
Re: [PATCH 8/8] perf test: Add more test cases to sched test
Posted by Ian Rogers 3 months ago
On Wed, Jul 2, 2025 at 6:49 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
>   $ sudo ./perf test -vv 92
>    92: perf sched tests:
>   --- start ---
>   test child forked, pid 1360101
>   Sched record
>   pid 1360105's current affinity list: 0-3
>   pid 1360105's new affinity list: 0
>   pid 1360107's current affinity list: 0-3
>   pid 1360107's new affinity list: 0
>   [ perf record: Woken up 1 times to write data ]
>   [ perf record: Captured and wrote 4.330 MB /tmp/__perf_test_sched.perf.data.b3319 (12246 samples) ]
>   Sched latency
>   Sched script
>   Sched map
>   Sched timehist
>   Samples of sched_switch event do not have callchains.
>   ---- end(0) ----
>    92: perf sched tests                                                : Ok
>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>

Reviewed-by: Ian Rogers <irogers@google.com>

Thanks,
Ian

> ---
>  tools/perf/tests/shell/sched.sh | 39 ++++++++++++++++++++++++++-------
>  1 file changed, 31 insertions(+), 8 deletions(-)
>
> diff --git a/tools/perf/tests/shell/sched.sh b/tools/perf/tests/shell/sched.sh
> index c030126d1a0c918d..b9b81eaf856e6555 100755
> --- a/tools/perf/tests/shell/sched.sh
> +++ b/tools/perf/tests/shell/sched.sh
> @@ -56,38 +56,61 @@ cleanup_noploops() {
>    kill "$PID1" "$PID2"
>  }
>
> -test_sched_latency() {
> -  echo "Sched latency"
> +test_sched_record() {
> +  echo "Sched record"
>
>    start_noploops
>
>    perf sched record --no-inherit -o "${perfdata}" sleep 1
> +
> +  cleanup_noploops
> +}
> +
> +test_sched_latency() {
> +  echo "Sched latency"
> +
>    if ! perf sched latency -i "${perfdata}" | grep -q perf-noploop
>    then
>      echo "Sched latency [Failed missing output]"
>      err=1
>    fi
> -
> -  cleanup_noploops
>  }
>
>  test_sched_script() {
>    echo "Sched script"
>
> -  start_noploops
> -
> -  perf sched record --no-inherit -o "${perfdata}" sleep 1
>    if ! perf sched script -i "${perfdata}" | grep -q perf-noploop
>    then
>      echo "Sched script [Failed missing output]"
>      err=1
>    fi
> +}
>
> -  cleanup_noploops
> +test_sched_map() {
> +  echo "Sched map"
> +
> +  if ! perf sched map -i "${perfdata}" | grep -q perf-noploop
> +  then
> +    echo "Sched map [Failed missing output]"
> +    err=1
> +  fi
> +}
> +
> +test_sched_timehist() {
> +  echo "Sched timehist"
> +
> +  if ! perf sched timehist -i "${perfdata}" | grep -q perf-noploop
> +  then
> +    echo "Sched timehist [Failed missing output]"
> +    err=1
> +  fi
>  }
>
> +test_sched_record
>  test_sched_latency
>  test_sched_script
> +test_sched_map
> +test_sched_timehist
>
>  cleanup
>  exit $err
> --
> 2.50.0.727.gbf7dc18ff4-goog
>