usb: typec: mux: fix static inline syntax error
[platform/kernel/linux-starfive.git] / tools / testing / selftests / ftrace / test.d / filter / event-filter-function.tc
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3 # description: event filter function - test event filtering on functions
4 # requires: set_event events/kmem/kmem_cache_free/filter
5 # flags: instance
6
7 fail() { #msg
8     echo $1
9     exit_fail
10 }
11
12 echo "Test event filter function name"
13 echo 0 > tracing_on
14 echo 0 > events/enable
15 echo > trace
16 echo 'call_site.function == exit_mmap' > events/kmem/kmem_cache_free/filter
17 echo 1 > events/kmem/kmem_cache_free/enable
18 echo 1 > tracing_on
19 ls > /dev/null
20 echo 0 > events/kmem/kmem_cache_free/enable
21
22 hitcnt=`grep kmem_cache_free trace| grep exit_mmap | wc -l`
23 misscnt=`grep kmem_cache_free trace| grep -v exit_mmap | wc -l`
24
25 if [ $hitcnt -eq 0 ]; then
26         exit_fail
27 fi
28
29 if [ $misscnt -gt 0 ]; then
30         exit_fail
31 fi
32
33 address=`grep ' exit_mmap$' /proc/kallsyms | cut -d' ' -f1`
34
35 echo "Test event filter function address"
36 echo 0 > tracing_on
37 echo 0 > events/enable
38 echo > trace
39 echo "call_site.function == 0x$address" > events/kmem/kmem_cache_free/filter
40 echo 1 > events/kmem/kmem_cache_free/enable
41 echo 1 > tracing_on
42 sleep 1
43 echo 0 > events/kmem/kmem_cache_free/enable
44
45 hitcnt=`grep kmem_cache_free trace| grep exit_mmap | wc -l`
46 misscnt=`grep kmem_cache_free trace| grep -v exit_mmap | wc -l`
47
48 if [ $hitcnt -eq 0 ]; then
49         exit_fail
50 fi
51
52 if [ $misscnt -gt 0 ]; then
53         exit_fail
54 fi
55
56 reset_events_filter
57
58 exit 0