[<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