All these tests depend on the ping command and will fail if it is not found. Allow tests to specify dependencies on programs through the 'requires' field. Add dependency on 'ping' for some of the trigger tests. Link: https://lore.kernel.org/all/20221017104312.16af5467@gandalf.local.home/ Reported-by: Akanksha J N <akanksha@linux.vnet.ibm.com> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Suggested-by: Steven Rostedt (Google) <rostedt@goodmis.org> Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
33 lines
1.4 KiB
Bash
33 lines
1.4 KiB
Bash
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# description: event trigger - test field variable support
|
|
# requires: set_event synthetic_events events/sched/sched_process_fork/hist ping:program
|
|
|
|
fail() { #msg
|
|
echo $1
|
|
exit_fail
|
|
}
|
|
|
|
echo "Test field variable support"
|
|
|
|
echo 'wakeup_latency u64 lat; pid_t pid; int prio; char comm[16]' > synthetic_events
|
|
echo 'hist:keys=comm:ts0=common_timestamp.usecs if comm=="ping"' > events/sched/sched_waking/trigger
|
|
echo 'hist:keys=next_comm:wakeup_lat=common_timestamp.usecs-$ts0:onmatch(sched.sched_waking).wakeup_latency($wakeup_lat,next_pid,sched.sched_waking.prio,next_comm) if next_comm=="ping"' > events/sched/sched_switch/trigger
|
|
echo 'hist:keys=pid,prio,comm:vals=lat:sort=pid,prio' > events/synthetic/wakeup_latency/trigger
|
|
|
|
ping $LOCALHOST -c 3
|
|
if ! grep -q "ping" events/synthetic/wakeup_latency/hist; then
|
|
fail "Failed to create inter-event histogram"
|
|
fi
|
|
|
|
if ! grep -q "synthetic_prio=prio" events/sched/sched_waking/hist; then
|
|
fail "Failed to create histogram with field variable"
|
|
fi
|
|
|
|
echo '!hist:keys=next_comm:wakeup_lat=common_timestamp.usecs-$ts0:onmatch(sched.sched_waking).wakeup_latency($wakeup_lat,next_pid,sched.sched_waking.prio,next_comm) if next_comm=="ping"' >> events/sched/sched_switch/trigger
|
|
|
|
if grep -q "synthetic_prio=prio" events/sched/sched_waking/hist; then
|
|
fail "Failed to remove histogram with field variable"
|
|
fi
|
|
|
|
exit 0
|