Re: [PATCH v2 3/8] perf test ibs: Remove obsolete privilege test

From: Namhyung Kim

Date: Thu May 07 2026 - 20:24:57 EST


Hello,

On Thu, Apr 30, 2026 at 06:11:10AM +0000, Ravi Bangoria wrote:
> Older IBS implementations lacked a hardware privilege filter, so the
> kernel enabled swfilt=1. Newer AMD CPUs will provide privilege filtering
> via the RIP[63] bit, making swfilt redundant. Remove the perf unit test
> that assumes IBS has no hardware-assisted privilege filter.

Can you add a check for CPU model or capability for this?
Probably we want to keep this test for older models..

Thanks,
Namhyung

>
> swfilt is ignored by kernel on platforms that support RIP[63] bit filter
> i.e. all amd-ibs-swfilt.sh tests will test hardware assisted privilege
> filter.
>
> Without the patch:
>
> # ./perf test -vv 75
> test child forked, pid 26029
> check availability of IBS swfilt
> run perf record with modifier and swfilt
> [FAIL] IBS PMU should not accept exclude_kernel
> 75: AMD IBS software filtering : FAILED!
>
> With the patch:
>
> # ./perf test -vv 75
> check availability of IBS swfilt
> run perf record with modifier and swfilt
> [ perf record: Woken up 3 times to write data ]
> [ perf record: Captured and wrote 0.000 MB /dev/null ]
> [ perf record: Woken up 3 times to write data ]
> [ perf record: Captured and wrote 0.000 MB /dev/null ]
> [ perf record: Woken up 3 times to write data ]
> [ perf record: Captured and wrote 0.000 MB /dev/null ]
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.000 MB /dev/null ]
> check number of samples with swfilt
> [ perf record: Woken up 5 times to write data ]
> [ perf record: Captured and wrote 0.040 MB - ]
> [ perf record: Woken up 3 times to write data ]
> [ perf record: Captured and wrote 0.054 MB - ]
> 75: AMD IBS software filtering : Ok
>
> Signed-off-by: Ravi Bangoria <ravi.bangoria@xxxxxxx>
> ---
> tools/perf/tests/shell/amd-ibs-swfilt.sh | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/tools/perf/tests/shell/amd-ibs-swfilt.sh b/tools/perf/tests/shell/amd-ibs-swfilt.sh
> index e7f66df05c4b..92ef45bf3043 100755
> --- a/tools/perf/tests/shell/amd-ibs-swfilt.sh
> +++ b/tools/perf/tests/shell/amd-ibs-swfilt.sh
> @@ -22,13 +22,6 @@ fi
> echo "run perf record with modifier and swfilt"
> err=0
>
> -# setting any modifiers should fail
> -perf record -B -e ibs_op//u -o /dev/null true 2> /dev/null
> -if [ $? -eq 0 ]; then
> - echo "[FAIL] IBS PMU should not accept exclude_kernel"
> - exit 1
> -fi
> -
> # setting it with swfilt should be fine
> perf record -B -e ibs_op/swfilt/u -o /dev/null true
> if [ $? -ne 0 ]; then
> --
> 2.43.0
>