drm/nouveau: consume the return of large GSP message
[drm/drm-misc.git] / tools / perf / tests / shell / stat_all_pfm.sh
blob4d004f777a6ee0223433c253036b49b95e101787
1 #!/bin/sh
2 # perf all libpfm4 events test
3 # SPDX-License-Identifier: GPL-2.0
5 if perf version --build-options | grep HAVE_LIBPFM | grep -q OFF
6 then
7 echo "Skipping, no libpfm4 support"
8 exit 2
9 fi
11 err=0
12 for p in $(perf list --raw-dump pfm)
14 if echo "$p" | grep -q unc_
15 then
16 echo "Skipping uncore event '$p' that may require additional options."
17 continue
19 echo "Testing $p"
20 result=$(perf stat --pfm-events "$p" true 2>&1)
21 x=$?
22 if echo "$result" | grep -q "failed to parse event $p : invalid or missing unit mask"
23 then
24 continue
26 if test "$x" -ne "0"
27 then
28 echo "Unexpected exit code '$x'"
29 err=1
31 if ! echo "$result" | grep -q "$p" && ! echo "$result" | grep -q "<not supported>"
32 then
33 # We failed to see the event and it is supported. Possibly the workload was
34 # too small so retry with something longer.
35 result=$(perf stat --pfm-events "$p" perf bench internals synthesize 2>&1)
36 x=$?
37 if test "$x" -ne "0"
38 then
39 echo "Unexpected exit code '$x'"
40 err=1
42 if ! echo "$result" | grep -q "$p"
43 then
44 echo "Event '$p' not printed in:"
45 echo "$result"
46 err=1
49 done
51 exit "$err"