Messages in this thread | | | Date | Fri, 4 Sep 2020 12:56:28 -0700 | From | "Paul E. McKenney" <> | Subject | Re: Question on task_blocks_on_rt_mutex() |
| |
On Fri, Sep 04, 2020 at 10:24:32AM -0700, Davidlohr Bueso wrote: > On Thu, 03 Sep 2020, Paul E. McKenney wrote: > > > commit d93a64389f4d544ded241d0ba30b2586497f5dc0 > > Author: Paul E. McKenney <paulmck@kernel.org> > > Date: Tue Sep 1 16:58:41 2020 -0700 > > > > torture: Periodically pause in stutter_wait() > > > > Running locktorture scenario LOCK05 results in hangs: > > > > tools/testing/selftests/rcutorture/bin/kvm.sh --allcpus --torture lock --duration 3 --configs LOCK05 > > > > The lock_torture_writer() kthreads set themselves to MAX_NICE while > > running SCHED_OTHER. Other locktorture kthreads run at default niceness, > > also SCHED_OTHER. This results in these other locktorture kthreads > > indefinitely preempting the lock_torture_writer() kthreads. Note that > > the cond_resched() in the stutter_wait() function's loop is ineffective > > because this scenario is built with CONFIG_PREEMPT=y. > > > > It is not clear that such indefinite preemption is supposed to happen, but > > in the meantime this commit prevents kthreads running in stutter_wait() > > from being completely CPU-bound, thus allowing the other threads to get > > some CPU in a timely fashion. This commit also uses hrtimers to provide > > very short sleeps to avoid degrading the sudden-on testing that stutter > > is supposed to provide. > > > > Signed-off-by: Paul E. McKenney <paulmck@kernel.org> > > Reviwed-by: Davidlohr Bueso <dbueso@suse.de>
Applied, thank you!
Thanx, Paul
| |