Re: [PATCH v1] perf tests kwork: Add basic kwork coverage tests

From: Ian Rogers

Date: Wed Apr 01 2026 - 01:17:00 EST


On Tue, Dec 9, 2025 at 9:08 AM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> Add basic kwork coverage tests for record, report, latency, timehist
> and top.
>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

Ping.

Thanks,
Ian

> ---
> tools/perf/tests/shell/kwork.sh | 79 +++++++++++++++++++++++++++++++++
> 1 file changed, 79 insertions(+)
> create mode 100755 tools/perf/tests/shell/kwork.sh
>
> diff --git a/tools/perf/tests/shell/kwork.sh b/tools/perf/tests/shell/kwork.sh
> new file mode 100755
> index 000000000000..42bfd9382816
> --- /dev/null
> +++ b/tools/perf/tests/shell/kwork.sh
> @@ -0,0 +1,79 @@
> +#!/bin/bash
> +# perf kwork tests
> +# SPDX-License-Identifier: GPL-2.0
> +
> +set -e
> +
> +# Root permissions required for tracing events.
> +if [ "$(id -u)" != 0 ]; then
> + echo "[Skip] No root permission"
> + exit 2
> +fi
> +
> +err=0
> +perfdata=$(mktemp /tmp/__perf_test_kwork.perf.data.XXXXX)
> +
> +cleanup() {
> + rm -f "${perfdata}"
> + rm -f "${perfdata}".old
> +
> + trap - EXIT TERM INT
> +}
> +
> +trap_cleanup() {
> + echo "Unexpected signal in ${FUNCNAME[1]}"
> + cleanup
> + exit 1
> +}
> +trap trap_cleanup EXIT TERM INT
> +
> +test_kwork_record() {
> + echo "Kwork record"
> + perf kwork record -o "${perfdata}" -- sleep 1
> + echo "Kwork record [Success]"
> +}
> +
> +test_kwork_report() {
> + echo "Kwork report"
> + if ! perf kwork report -i "${perfdata}" | grep -q "Kwork Name"; then
> + echo "Kwork report [Failed missing output]"
> + err=1
> + fi
> + echo "Kwork report [Success]"
> +}
> +
> +test_kwork_latency() {
> + echo "Kwork latency"
> + if ! perf kwork latency -i "${perfdata}" | grep -q "Avg delay"; then
> + echo "Kwork latency [Failed missing output]"
> + err=1
> + fi
> + echo "Kwork latency [Success]"
> +}
> +
> +test_kwork_timehist() {
> + echo "Kwork timehist"
> + if ! perf kwork timehist -i "${perfdata}" | grep -q "Kwork name"; then
> + echo "Kwork timehist [Failed missing output]"
> + err=1
> + fi
> + echo "Kwork timehist [Success]"
> +}
> +
> +test_kwork_top() {
> + echo "Kwork top"
> + if ! perf kwork top -i "${perfdata}" | grep -q "COMMAND"; then
> + echo "Kwork top [Failed missing output]"
> + err=1
> + fi
> + echo "Kwork top [Success]"
> +}
> +
> +test_kwork_record
> +test_kwork_report
> +test_kwork_latency
> +test_kwork_timehist
> +test_kwork_top
> +
> +cleanup
> +exit $err
> --
> 2.52.0.223.gf5cc29aaa4-goog
>