| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/bin/sh
- # SPDX-License-Identifier: GPL-2.0
- # description: event tracing - enable/disable with subsystem level files
- # flags: instance
- do_reset() {
- echo > set_event
- clear_trace
- }
- fail() { #msg
- do_reset
- echo $1
- exit_fail
- }
- yield() {
- ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1
- }
- if [ ! -f set_event -o ! -d events/sched ]; then
- echo "event tracing is not supported"
- exit_unsupported
- fi
- reset_tracer
- do_reset
- echo 'sched:*' > set_event
- yield
- count=`cat trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l`
- if [ $count -lt 3 ]; then
- fail "at least fork, exec and exit events should be recorded"
- fi
- do_reset
- echo 1 > events/sched/enable
- yield
- count=`cat trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l`
- if [ $count -lt 3 ]; then
- fail "at least fork, exec and exit events should be recorded"
- fi
- do_reset
- echo 0 > events/sched/enable
- yield
- count=`cat trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l`
- if [ $count -ne 0 ]; then
- fail "any of scheduler events should not be recorded"
- fi
- do_reset
- exit 0
|