Re: [PATCH v2 12/14] ftrace/selftest: Fix reset_trigger() to handle triggers with filters

From: Masami Hiramatsu
Date: Wed May 16 2018 - 08:23:41 EST


On Mon, 14 May 2018 16:58:57 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>
>
> The reset_trigger() function breaks up the command by a space ' '. This is
> useful to ignore the '[active]' word for triggers when removing them. But if
> the trigger has a filter (ie. "if prio < 10") then the filter needs to be
> attached to the line that is written into the trigger file to remove it. But
> the truncation removes the filter and the triggers are not cleared properly.
>
> Before, reset_trigger() did this:
>
> # echo 'hist:keys=common_pid if prev_prio < 10' > events/sched/sched_switch/trigger
> # echo 'hist:keys=common_pid if next_prio < 10' >> events/sched/sched_switch/trigger
> # cat events/sched/sched_switch/trigger
> hist:keys=common_pid:vals=hitcount:sort=hitcount:size=2048 if prev_prio < 10 [active]
> hist:keys=common_pid:vals=hitcount:sort=hitcount:size=2048 if next_prio < 10 [active]
>
> reset_trigger() {
> echo '!hist:keys=common_pid:vals=hitcount:sort=hitcount:size=2048' >> events/sched/sched_switch/trigger
> }
>
> # cat events/sched/sched_switch/trigger
> hist:keys=common_pid:vals=hitcount:sort=hitcount:size=2048 if prev_prio < 10 [active]
> hist:keys=common_pid:vals=hitcount:sort=hitcount:size=2048 if next_prio < 10 [active]
>
> After, where it includes the filter:
>
> reset_trigger() {
> echo '!hist:keys=common_pid:vals=hitcount:sort=hitcount:size=2048 if prev_prio < 10' >> events/sched/sched_switch/trigger
> }
>
> # cat events/sched/sched_switch/trigger
> hist:keys=common_pid:vals=hitcount:sort=hitcount:size=2048 if next_prio < 10 [active]
>

This also looks good to me and needs to go into stable.

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thank you,


> Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
> ---
> tools/testing/selftests/ftrace/test.d/functions | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
> index 8393b1c06027..e4645d5e3126 100644
> --- a/tools/testing/selftests/ftrace/test.d/functions
> +++ b/tools/testing/selftests/ftrace/test.d/functions
> @@ -19,13 +19,13 @@ reset_trigger_file() {
> # remove action triggers first
> grep -H ':on[^:]*(' $@ |
> while read line; do
> - cmd=`echo $line | cut -f2- -d: | cut -f1 -d" "`
> + cmd=`echo $line | cut -f2- -d: | cut -f1 -d"["`
> file=`echo $line | cut -f1 -d:`
> echo "!$cmd" >> $file
> done
> grep -Hv ^# $@ |
> while read line; do
> - cmd=`echo $line | cut -f2- -d: | cut -f1 -d" "`
> + cmd=`echo $line | cut -f2- -d: | cut -f1 -d"["`
> file=`echo $line | cut -f1 -d:`
> echo "!$cmd" > $file
> done
> --
> 2.17.0
>
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>