1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0 3# description: Generic dynamic event - add/remove tracepoint probe events 4# requires: dynamic_events "t[:[<group>/][<event>]] <tracepoint> [<args>]":README 5 6echo 0 > events/enable 7echo > dynamic_events 8 9SUBSYSTEM=kmem 10TRACEPOINT1=kmem_cache_alloc 11TRACEPOINT2=kmem_cache_free 12 13echo "t:myevent1 $TRACEPOINT1" >> dynamic_events 14echo "t:myevent2 $TRACEPOINT2" >> dynamic_events 15 16grep -q myevent1 dynamic_events 17grep -q myevent2 dynamic_events 18test -d events/tracepoints/myevent1 19test -d events/tracepoints/myevent2 20 21echo "-:myevent2" >> dynamic_events 22 23grep -q myevent1 dynamic_events 24! grep -q myevent2 dynamic_events 25 26echo > dynamic_events 27 28# auto naming check 29echo "t $TRACEPOINT1" >> dynamic_events 30 31test -d events/tracepoints/$TRACEPOINT1 32 33echo > dynamic_events 34 35# SUBSYSTEM is not supported 36echo "t $SUBSYSTEM/$TRACEPOINT1" >> dynamic_events && exit_fail ||: 37echo "t $SUBSYSTEM:$TRACEPOINT1" >> dynamic_events && exit_fail ||: 38echo "t:myevent3 $SUBSYSTEM/$TRACEPOINT1" >> dynamic_events && exit_fail ||: 39echo "t:myevent3 $SUBSYSTEM:$TRACEPOINT1" >> dynamic_events && exit_fail ||: 40 41clear_trace 42