selftests/ftrace: event_triggers: wait longer for test_event_enable

Message ID 20221104020931.231090-1-zouyipeng@huawei.com
State New
Headers
Series selftests/ftrace: event_triggers: wait longer for test_event_enable |

Commit Message

Yipeng Zou Nov. 4, 2022, 2:09 a.m. UTC
  In some platform, the schedule event may came slowly, delay 100ms can't
cover it.

I was notice that on my board which running in low cpu_freq,and this
selftests allways gose fail.

So maybe we can check more times here to wait longer.

Fixes: 43bb45da82f9 ("selftests: ftrace: Add a selftest to test event enable/disable func trigger")
Signed-off-by: Yipeng Zou <zouyipeng@huawei.com>
---
 .../ftrace/test.d/ftrace/func_event_triggers.tc   | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
  

Comments

Masami Hiramatsu (Google) Nov. 5, 2022, 8:52 a.m. UTC | #1
Hi Yipeng,

On Fri, 4 Nov 2022 10:09:31 +0800
Yipeng Zou <zouyipeng@huawei.com> wrote:

> In some platform, the schedule event may came slowly, delay 100ms can't
> cover it.
> 
> I was notice that on my board which running in low cpu_freq,and this
> selftests allways gose fail.

This looks good to me, since this can just extend the waiting time to 1 sec.
(and most of the platforms have no effect)

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thank you!

> 
> So maybe we can check more times here to wait longer.
> 
> Fixes: 43bb45da82f9 ("selftests: ftrace: Add a selftest to test event enable/disable func trigger")
> Signed-off-by: Yipeng Zou <zouyipeng@huawei.com>
> ---
>  .../ftrace/test.d/ftrace/func_event_triggers.tc   | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> index 8d26d5505808..3eea2abf68f9 100644
> --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> @@ -38,11 +38,18 @@ cnt_trace() {
>  
>  test_event_enabled() {
>      val=$1
> +    check_times=10		# wait for 10 * SLEEP_TIME at most
>  
> -    e=`cat $EVENT_ENABLE`
> -    if [ "$e" != $val ]; then
> -	fail "Expected $val but found $e"
> -    fi
> +    while [ $check_times -ne 0 ]; do
> +	e=`cat $EVENT_ENABLE`
> +	if [ "$e" == $val ]; then
> +	    return 0
> +	fi
> +	sleep $SLEEP_TIME
> +	check_times=$((check_times - 1))
> +    done
> +
> +    fail "Expected $val but found $e"
>  }
>  
>  run_enable_disable() {
> -- 
> 2.17.1
>
  
Steven Rostedt Nov. 14, 2022, 6:10 p.m. UTC | #2
On Sat, 5 Nov 2022 17:52:41 +0900
Masami Hiramatsu (Google) <mhiramat@kernel.org> wrote:

> Hi Yipeng,
> 
> On Fri, 4 Nov 2022 10:09:31 +0800
> Yipeng Zou <zouyipeng@huawei.com> wrote:
> 
> > In some platform, the schedule event may came slowly, delay 100ms can't
> > cover it.
> > 
> > I was notice that on my board which running in low cpu_freq,and this
> > selftests allways gose fail.  
> 
> This looks good to me, since this can just extend the waiting time to 1 sec.
> (and most of the platforms have no effect)
> 
> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> 

Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>

Shuah,

Care to take this through your tree?

Thanks,

-- Steve


> Thank you!
> 
> > 
> > So maybe we can check more times here to wait longer.
> > 
> > Fixes: 43bb45da82f9 ("selftests: ftrace: Add a selftest to test event enable/disable func trigger")
> > Signed-off-by: Yipeng Zou <zouyipeng@huawei.com>
> > ---
> >  .../ftrace/test.d/ftrace/func_event_triggers.tc   | 15 +++++++++++----
> >  1 file changed, 11 insertions(+), 4 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > index 8d26d5505808..3eea2abf68f9 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > @@ -38,11 +38,18 @@ cnt_trace() {
> >  
> >  test_event_enabled() {
> >      val=$1
> > +    check_times=10		# wait for 10 * SLEEP_TIME at most
> >  
> > -    e=`cat $EVENT_ENABLE`
> > -    if [ "$e" != $val ]; then
> > -	fail "Expected $val but found $e"
> > -    fi
> > +    while [ $check_times -ne 0 ]; do
> > +	e=`cat $EVENT_ENABLE`
> > +	if [ "$e" == $val ]; then
> > +	    return 0
> > +	fi
> > +	sleep $SLEEP_TIME
> > +	check_times=$((check_times - 1))
> > +    done
> > +
> > +    fail "Expected $val but found $e"
> >  }
> >  
> >  run_enable_disable() {
> > -- 
> > 2.17.1
> >   
> 
>
  
Shuah Khan Nov. 14, 2022, 6:25 p.m. UTC | #3
On 11/14/22 11:10, Steven Rostedt wrote:
> On Sat, 5 Nov 2022 17:52:41 +0900
> Masami Hiramatsu (Google) <mhiramat@kernel.org> wrote:
> 
>> Hi Yipeng,
>>
>> On Fri, 4 Nov 2022 10:09:31 +0800
>> Yipeng Zou <zouyipeng@huawei.com> wrote:
>>
>>> In some platform, the schedule event may came slowly, delay 100ms can't
>>> cover it.
>>>
>>> I was notice that on my board which running in low cpu_freq,and this
>>> selftests allways gose fail.
>>
>> This looks good to me, since this can just extend the waiting time to 1 sec.
>> (and most of the platforms have no effect)
>>
>> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
>>
> 
> Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> 
> Shuah,
> 
> Care to take this through your tree?
> 

Yup. I will get this in.

thanks,
-- Shuah
  

Patch

diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
index 8d26d5505808..3eea2abf68f9 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
@@ -38,11 +38,18 @@  cnt_trace() {
 
 test_event_enabled() {
     val=$1
+    check_times=10		# wait for 10 * SLEEP_TIME at most
 
-    e=`cat $EVENT_ENABLE`
-    if [ "$e" != $val ]; then
-	fail "Expected $val but found $e"
-    fi
+    while [ $check_times -ne 0 ]; do
+	e=`cat $EVENT_ENABLE`
+	if [ "$e" == $val ]; then
+	    return 0
+	fi
+	sleep $SLEEP_TIME
+	check_times=$((check_times - 1))
+    done
+
+    fail "Expected $val but found $e"
 }
 
 run_enable_disable() {