#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # description: Generic dynamic event - selective clear (compatibility) [ -f dynamic_events ] || exit_unsupported grep -q "place: \[<module>:\]<symbol>" README || exit_unsupported grep -q "place (kretprobe): \[<module>:\]<symbol>" README || exit_unsupported grep -q "s:\[synthetic/\]" README || exit_unsupported [ -f synthetic_events ] || exit_unsupported [ -f kprobe_events ] || exit_unsupported echo 0 > events/enable echo > dynamic_events PLACE=_do_fork setup_events() { echo "p:myevent1 $PLACE" >> dynamic_events echo "s:latency1 u64 lat; pid_t pid;" >> dynamic_events echo "r:myevent2 $PLACE" >> dynamic_events echo "s:latency2 u64 lat; pid_t pid;" >> dynamic_events grep -q myevent1 dynamic_events grep -q myevent2 dynamic_events grep -q latency1 dynamic_events grep -q latency2 dynamic_events } setup_events echo > synthetic_events grep -q myevent1 dynamic_events grep -q myevent2 dynamic_events ! grep -q latency1 dynamic_events ! grep -q latency2 dynamic_events echo > dynamic_events setup_events echo > kprobe_events ! grep -q myevent1 dynamic_events ! grep -q myevent2 dynamic_events grep -q latency1 dynamic_events grep -q latency2 dynamic_events echo > dynamic_events |