Re: [PATCH 1/2] rcu: Assign higher priority to RCU threads if its rcutorture

From: Joel Fernandes
Date: Tue Jun 19 2018 - 02:34:29 EST


On Mon, Jun 18, 2018 at 11:22:14PM -0700, Joel Fernandes wrote:
> From: "Joel Fernandes (Google)" <joel@xxxxxxxxxxxxxxxxx>
>
> rcutorture boost tests fail even with CONFIG_RCU_BOOST set because
> rcutorture's threads are equal priority to the default RCU kthreads (RT
> class with priority of 1).

Sorry for the weird subject line, I meant "rcu: Assign higher prio if
rcutorture is built into kernel". I have included the patch with the subject
line fixed up below (if you prefer to take that instead).

Also one question, incase rcutorture is a module, we can't raise the priority
of the kthreads because it would be too late to do at module load time. In
this case, do you have any ideas on what we can do? I was thinking we can
access the kernel command line from within rcutorture module and check if
'rcutree.kthread_prio' was passed. And if it is and isn't sufficiently high,
then we avoid testing boost feature at all (and print a nice message telling
the user about the issue).

OTOH, we can just let rcutorture module loaders fail the test if you feel
very few automation tests do the module loading way of rcutorture and so a
boost test failure there is tolerable. For me, I will likely be running
rcutorture only as a built-in so I am Ok with not special casing it within
rcutorture.

thanks!

- Joel

-----8<---------