~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/ftrace/test.d/trigger/trigger-hist.tc

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/sh
  2 # SPDX-License-Identifier: GPL-2.0
  3 # description: event trigger - test histogram trigger
  4 # requires: set_event events/sched/sched_process_fork/trigger events/sched/sched_process_fork/hist
  5 # flags: instance
  6 
  7 fail() { #msg
  8     echo $1
  9     exit_fail
 10 }
 11 
 12 echo "Test histogram basic trigger"
 13 
 14 echo 'hist:keys=parent_pid:vals=child_pid' > events/sched/sched_process_fork/trigger
 15 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
 16 grep parent_pid events/sched/sched_process_fork/hist > /dev/null || \
 17     fail "hist trigger on sched_process_fork did not work"
 18 grep child events/sched/sched_process_fork/hist > /dev/null || \
 19     fail "hist trigger on sched_process_fork did not work"
 20 
 21 reset_trigger
 22 
 23 echo "Test histogram with compound keys"
 24 
 25 echo 'hist:keys=parent_pid,child_pid' > events/sched/sched_process_fork/trigger
 26 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
 27 grep '^{ parent_pid:.*, child_pid:.*}' events/sched/sched_process_fork/hist > /dev/null || \
 28     fail "compound keys on sched_process_fork did not work"
 29 
 30 reset_trigger
 31 
 32 echo "Test histogram with string key"
 33 
 34 echo 'hist:keys=parent_comm' > events/sched/sched_process_fork/trigger
 35 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
 36 COMM=`cat /proc/$$/comm`
 37 grep "parent_comm: $COMM" events/sched/sched_process_fork/hist > /dev/null || \
 38     fail "string key on sched_process_fork did not work"
 39 
 40 reset_trigger
 41 
 42 echo "Test histogram with sym modifier"
 43 
 44 echo 'hist:keys=call_site.sym' > events/kmem/kmalloc/trigger
 45 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
 46 grep '{ call_site: \[[0-9a-f][0-9a-f]*\] [_a-zA-Z][_a-zA-Z]* *}' events/kmem/kmalloc/hist > /dev/null || \
 47     fail "sym modifier on kmalloc call_site did not work"
 48 
 49 reset_trigger
 50 
 51 echo "Test histogram with sym-offset modifier"
 52 
 53 echo 'hist:keys=call_site.sym-offset' > events/kmem/kmalloc/trigger
 54 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
 55 grep '{ call_site: \[[0-9a-f][0-9a-f]*\] [_a-zA-Z][_a-zA-Z]*+0x[0-9a-f][0-9a-f]*' events/kmem/kmalloc/hist > /dev/null || \
 56     fail "sym-offset modifier on kmalloc call_site did not work"
 57 
 58 reset_trigger
 59 
 60 echo "Test histogram with sort key"
 61 
 62 echo 'hist:keys=parent_pid,child_pid:sort=child_pid.ascending' > events/sched/sched_process_fork/trigger
 63 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
 64 
 65 check_inc() {
 66     while [ $# -gt 1 ]; do
 67         [ $1 -gt $2 ] && return 1
 68         shift 1
 69     done
 70     return 0
 71 }
 72 check_inc `grep -o "child_pid:[[:space:]]*[[:digit:]]*" \
 73     events/sched/sched_process_fork/hist | cut -d: -f2 ` ||
 74     fail "sort param on sched_process_fork did not work"
 75 
 76 exit 0

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php