[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200904195628.GL29330@paulmck-ThinkPad-P72>
Date: Fri, 4 Sep 2020 12:56:28 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: Davidlohr Bueso <dave@...olabs.net>
Cc: peterz@...radead.org, mingo@...hat.com, will@...nel.org,
linux-kernel@...r.kernel.org
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@...nel.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@...nel.org>
>
> Reviwed-by: Davidlohr Bueso <dbueso@...e.de>
Applied, thank you!
Thanx, Paul
Powered by blists - more mailing lists