[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200207151456.4177c8974b779a45520b93d7@kernel.org>
Date: Fri, 7 Feb 2020 15:14:56 +0900
From: Masami Hiramatsu <mhiramat@...nel.org>
To: Alan Maguire <alan.maguire@...cle.com>
Cc: rostedt@...dmis.org, shuah@...nel.org, mingo@...hat.com,
linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org,
naveen.n.rao@...ux.vnet.ibm.com, colin.king@...onical.com
Subject: Re: [PATCH 1/2] ftrace/selftests: workaround cgroup RT scheduling
issues
On Thu, 6 Feb 2020 15:09:19 +0000
Alan Maguire <alan.maguire@...cle.com> 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@...nel.org>
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@...cle.com>
> ---
> 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@...nel.org>
Powered by blists - more mailing lists