16335265eSMasami Hiramatsu (Google)#!/bin/sh 26335265eSMasami Hiramatsu (Google)# SPDX-License-Identifier: GPL-2.0 36335265eSMasami Hiramatsu (Google)# description: Generic dynamic event - add/remove tracepoint probe events 46335265eSMasami Hiramatsu (Google)# requires: dynamic_events "t[:[<group>/][<event>]] <tracepoint> [<args>]":README 56335265eSMasami Hiramatsu (Google) 66335265eSMasami Hiramatsu (Google)echo 0 > events/enable 76335265eSMasami Hiramatsu (Google)echo > dynamic_events 86335265eSMasami Hiramatsu (Google) 9*381af2abSMasami Hiramatsu (Google)SUBSYSTEM=kmem 106335265eSMasami Hiramatsu (Google)TRACEPOINT1=kmem_cache_alloc 116335265eSMasami Hiramatsu (Google)TRACEPOINT2=kmem_cache_free 126335265eSMasami Hiramatsu (Google) 136335265eSMasami Hiramatsu (Google)echo "t:myevent1 $TRACEPOINT1" >> dynamic_events 146335265eSMasami Hiramatsu (Google)echo "t:myevent2 $TRACEPOINT2" >> dynamic_events 156335265eSMasami Hiramatsu (Google) 166335265eSMasami Hiramatsu (Google)grep -q myevent1 dynamic_events 176335265eSMasami Hiramatsu (Google)grep -q myevent2 dynamic_events 186335265eSMasami Hiramatsu (Google)test -d events/tracepoints/myevent1 196335265eSMasami Hiramatsu (Google)test -d events/tracepoints/myevent2 206335265eSMasami Hiramatsu (Google) 216335265eSMasami Hiramatsu (Google)echo "-:myevent2" >> dynamic_events 226335265eSMasami Hiramatsu (Google) 236335265eSMasami Hiramatsu (Google)grep -q myevent1 dynamic_events 246335265eSMasami Hiramatsu (Google)! grep -q myevent2 dynamic_events 256335265eSMasami Hiramatsu (Google) 266335265eSMasami Hiramatsu (Google)echo > dynamic_events 276335265eSMasami Hiramatsu (Google) 28*381af2abSMasami Hiramatsu (Google)# auto naming check 29*381af2abSMasami Hiramatsu (Google)echo "t $TRACEPOINT1" >> dynamic_events 30*381af2abSMasami Hiramatsu (Google) 31*381af2abSMasami Hiramatsu (Google)test -d events/tracepoints/$TRACEPOINT1 32*381af2abSMasami Hiramatsu (Google) 33*381af2abSMasami Hiramatsu (Google)echo > dynamic_events 34*381af2abSMasami Hiramatsu (Google) 35*381af2abSMasami Hiramatsu (Google)# SUBSYSTEM is not supported 36*381af2abSMasami Hiramatsu (Google)echo "t $SUBSYSTEM/$TRACEPOINT1" >> dynamic_events && exit_fail ||: 37*381af2abSMasami Hiramatsu (Google)echo "t $SUBSYSTEM:$TRACEPOINT1" >> dynamic_events && exit_fail ||: 38*381af2abSMasami Hiramatsu (Google)echo "t:myevent3 $SUBSYSTEM/$TRACEPOINT1" >> dynamic_events && exit_fail ||: 39*381af2abSMasami Hiramatsu (Google)echo "t:myevent3 $SUBSYSTEM:$TRACEPOINT1" >> dynamic_events && exit_fail ||: 40*381af2abSMasami Hiramatsu (Google) 416335265eSMasami Hiramatsu (Google)clear_trace 42