On Thu, 6 Feb 2020 15:09:19 +0000 Alan Maguire <alan.maguire@xxxxxxxxxx> wrote: > wakeup_rt.tc and wakeup.tc tests in tracers/ subdirectory > fail due to the chrt command returning: > > chrt: failed to set pid 0's policy: Operation not permitted. > > To work around this, temporarily disable grout RT scheduling > during ftracetest execution. Restore original value on > test run completion. With these changes in place, both > tests consistently pass. OK, this looks good to me. Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> Thanks! > > Fixes: c575dea2c1a5 ("selftests/ftrace: Add wakeup_rt tracer testcase") > Fixes: c1edd060b413 ("selftests/ftrace: Add wakeup tracer testcase") > Signed-off-by: Alan Maguire <alan.maguire@xxxxxxxxxx> > --- > tools/testing/selftests/ftrace/ftracetest | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest > index 063ecb2..3207bbf 100755 > --- a/tools/testing/selftests/ftrace/ftracetest > +++ b/tools/testing/selftests/ftrace/ftracetest > @@ -29,8 +29,26 @@ err_ret=1 > # kselftest skip code is 4 > err_skip=4 > > +# cgroup RT scheduling prevents chrt commands from succeeding, which > +# induces failures in test wakeup tests. Disable for the duration of > +# the tests. > +sched_rt_runtime=$(sysctl -n kernel.sched_rt_runtime_us) OK, but can you > + > +set_sysctl() { > + sysctl -qw ${1}=${2} >/dev/null 2>&1 > +} > + > +setup() { > + set_sysctl kernel.sched_rt_runtime_us -1 > +} > + > +cleanup() { > + set_sysctl kernel.sched_rt_runtime_us $sched_rt_runtime > +} > + > errexit() { # message > echo "Error: $1" 1>&2 > + cleanup > exit $err_ret > } > > @@ -39,6 +57,8 @@ if [ `id -u` -ne 0 ]; then > errexit "this must be run by root user" > fi > > +setup > + > # Utilities > absdir() { # file_path > (cd `dirname $1`; pwd) > @@ -235,6 +255,7 @@ TOTAL_RESULT=0 > > INSTANCE= > CASENO=0 > + > testcase() { # testfile > CASENO=$((CASENO+1)) > desc=`grep "^#[ \t]*description:" $1 | cut -f2 -d:` > @@ -406,5 +427,7 @@ prlog "# of unsupported: " `echo $UNSUPPORTED_CASES | wc -w` > prlog "# of xfailed: " `echo $XFAILED_CASES | wc -w` > prlog "# of undefined(test bug): " `echo $UNDEFINED_CASES | wc -w` > > +cleanup > + > # if no error, return 0 > exit $TOTAL_RESULT > -- > 1.8.3.1 > -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>