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
14 echo 1 > events/kmem/kmem_cache_free/enable
18 echo 0 > events/kmem/kmem_cache_free/enable
22 echo 0 > events/enable
24 echo "Get the most frequently calling function"
27 target_func=`cut -d: -f3 trace | sed 's/call_site=\([^+]*\)+0x.*/\1/' | sort | uniq -c | sort | tail -n 1 | sed 's/^[ 0-9]*//'`
28 if [ -z "$target_func" ]; then
33 echo "Test event filter function name"
34 echo "call_site.function == $target_func" > events/kmem/kmem_cache_free/filter
37 hitcnt=`grep kmem_cache_free trace| grep $target_func | wc -l`
38 misscnt=`grep kmem_cache_free trace| grep -v $target_func | wc -l`
40 if [ $hitcnt -eq 0 ]; then
44 if [ $misscnt -gt 0 ]; then
48 address=`grep " ${target_func}\$" /proc/kallsyms | cut -d' ' -f1`
50 echo "Test event filter function address"
51 echo "call_site.function == 0x$address" > events/kmem/kmem_cache_free/filter
54 hitcnt=`grep kmem_cache_free trace| grep $target_func | wc -l`
55 misscnt=`grep kmem_cache_free trace| grep -v $target_func | wc -l`
57 if [ $hitcnt -eq 0 ]; then
61 if [ $misscnt -gt 0 ]; then