Hi Kalesh, On Wed, 27 Oct 2021 13:59:09 -0700 Kalesh Singh <kaleshsingh@xxxxxxxxxx> wrote: > If an event trigger references a variable defined in another trigger, it > has to be removed before the trigger that defines the variable is > removed. > > Signed-off-by: Kalesh Singh <kaleshsingh@xxxxxxxxxx> > --- > tools/testing/selftests/ftrace/test.d/functions | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions > index 000fd05e84b1..bd9e85f4d626 100644 > --- a/tools/testing/selftests/ftrace/test.d/functions > +++ b/tools/testing/selftests/ftrace/test.d/functions > @@ -22,6 +22,15 @@ reset_trigger_file() { > file=`echo $line | cut -f1 -d:` > echo "!$cmd" >> $file > done > + > + # remove triggers with references next > + grep -H '\$' $@ | > + while read line; do > + cmd=`echo $line | cut -f2- -d: | cut -f1 -d"["` > + file=`echo $line | cut -f1 -d:` > + echo "!$cmd" >> $file > + done > + Why don't you use 'tac'? I love that idea :) Did you find any issue? I think the function which cleaning up the tracing file should use the 'tac' rollback method, because it is natural, simple and robust. Then the first loop for removing action triggers is not needed anymore. Thank you, > grep -Hv ^# $@ | > while read line; do > cmd=`echo $line | cut -f2- -d: | cut -f1 -d"["` > -- > 2.33.0.1079.g6e70778dc9-goog > -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>