0001
0002
0003
0004
0005
0006
0007 fail() {
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