Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / tools / testing / selftests / ftrace / test.d / dynevent / generic_clear_event.tc
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3 # description: Generic dynamic event - generic clear event
4
5 [ -f dynamic_events ] || exit_unsupported
6
7 grep -q "place: \[<module>:\]<symbol>" README || exit_unsupported
8 grep -q "place (kretprobe): \[<module>:\]<symbol>" README || exit_unsupported
9
10 grep -q "s:\[synthetic/\]" README || exit_unsupported
11
12 echo 0 > events/enable
13 echo > dynamic_events
14
15 PLACE=_do_fork
16
17 setup_events() {
18 echo "p:myevent1 $PLACE" >> dynamic_events
19 echo "s:latency1 u64 lat; pid_t pid;" >> dynamic_events
20 echo "r:myevent2 $PLACE" >> dynamic_events
21 echo "s:latency2 u64 lat; pid_t pid;" >> dynamic_events
22
23 grep -q myevent1 dynamic_events
24 grep -q myevent2 dynamic_events
25 grep -q latency1 dynamic_events
26 grep -q latency2 dynamic_events
27 }
28
29 setup_events
30
31 echo "!p:myevent1 $PLACE" >> dynamic_events
32 ! grep -q myevent1 dynamic_events
33 grep -q myevent2 dynamic_events
34 grep -q latency1 dynamic_events
35 grep -q latency2 dynamic_events
36
37 echo "!s:latency1 u64 lat; pid_t pid;" >> dynamic_events
38 grep -q myevent2 dynamic_events
39 ! grep -q latency1 dynamic_events
40 grep -q latency2 dynamic_events
41
42 echo "!r:myevent2 $PLACE" >> dynamic_events
43 ! grep -q myevent2 dynamic_events
44 grep -q latency2 dynamic_events
45
46 echo "!s:latency2 u64 lat; pid_t pid;" >> dynamic_events
47 ! grep -q latency2 dynamic_events
48
49 echo > dynamic_events