Re: [PATCH 2/3] tracing/kselftests: Remove triggers with references before their definitions

From: Masami Hiramatsu
Date: Wed Oct 27 2021 - 17:58:57 EST


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>