Back to home page

OSCL-LXR

 
 

    


0001 #!/bin/sh
0002 # SPDX-License-Identifier: GPL-2.0
0003 # description: event trigger - test multiple histogram triggers
0004 # requires: set_event events/sched/sched_process_fork/trigger events/sched/sched_process_fork/hist
0005 # flags: instance
0006 
0007 fail() { #msg
0008     echo $1
0009     exit_fail
0010 }
0011 
0012 echo "Test histogram multiple triggers"
0013 
0014 echo 'hist:keys=parent_pid:vals=child_pid' > events/sched/sched_process_fork/trigger
0015 echo 'hist:keys=parent_comm:vals=child_pid' >> events/sched/sched_process_fork/trigger
0016 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
0017 grep parent_pid events/sched/sched_process_fork/hist > /dev/null || \
0018     fail "hist trigger on sched_process_fork did not work"
0019 grep child events/sched/sched_process_fork/hist > /dev/null || \
0020     fail "hist trigger on sched_process_fork did not work"
0021 COMM=`cat /proc/$$/comm`
0022 grep "parent_comm: $COMM" events/sched/sched_process_fork/hist > /dev/null || \
0023     fail "string key on sched_process_fork did not work"
0024 
0025 reset_trigger
0026 
0027 echo "Test histogram with its name"
0028 
0029 echo 'hist:name=test_hist:keys=common_pid' > events/sched/sched_process_fork/trigger
0030 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
0031 grep test_hist events/sched/sched_process_fork/hist > /dev/null || \
0032     fail "named event on sched_process_fork did not work"
0033 
0034 echo "Test same named histogram on different events"
0035 
0036 echo 'hist:name=test_hist:keys=common_pid' > events/sched/sched_process_exit/trigger
0037 for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
0038 grep test_hist events/sched/sched_process_exit/hist > /dev/null || \
0039     fail "named event on sched_process_fork did not work"
0040 
0041 diffs=`diff events/sched/sched_process_exit/hist events/sched/sched_process_fork/hist | wc -l`
0042 test $diffs -eq 0 || fail "Same name histograms are not same"
0043 
0044 exit 0