mirror of
https://github.com/torvalds/linux.git
synced 2026-04-20 15:53:59 -04:00
The usleep is only provided on distros from Redhat so running ftracetest
on other distro resulted in failures due to the missing usleep.
The reason of using [u]sleep in the test was to generate (scheduler)
events. It can be done various ways like this:
yield() { ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1; }
For more information to the history of this patch, please refer to:
Link: http://lkml.kernel.org/r/1427329943-16896-1-git-send-email-namhyung@kernel.org
Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Reported-by: Dave Jones <davej@codemonkey.org.uk>
Reported-by: Luis Henriques <luis.henriques@canonical.com>
Suggested-by: Pádraig Brady <P@draigBrady.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
61 lines
1.0 KiB
Bash
61 lines
1.0 KiB
Bash
#!/bin/sh
|
|
# description: event tracing - enable/disable with subsystem level files
|
|
|
|
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
|