On Tue, 2015-02-24 at 13:19 -0300, Gustavo Bittencourt wrote:
> On Tue, Feb 24, 2015 at 10:41 AM, Mike Galbraith
> <[email protected]> wrote:
> > locking, ww_mutex: fix ww_mutex vs self-deadlock
> >
> > If the caller already holds the mutex, task_blocks_on_rt_mutex()
> > returns -EDEADLK, we proceed directly to rt_mutex_handle_deadlock()
> > where it's instant game over.
> >
> > Let ww_mutexes return EDEADLK/EALREADY as they want to instead.
> >
> > Signed-off-by: Mike Galbraith <[email protected]>
> > ---
> >  kernel/locking/rtmutex.c |   17 +++++++++++------
> >  1 file changed, 11 insertions(+), 6 deletions(-)
> >
> > --- a/kernel/locking/rtmutex.c
> > +++ b/kernel/locking/rtmutex.c
> 
> The deadlock returned after I applied this patch in v3.18.7-rt2. Here is my 
> log:


Hrmph.  I definitely want your patch to die ;-)  It adds a whole new
dimension to ww_mutex that only now exists in -rt.  That's not good.  My
patchlet may not be perfect either, but it lets ww_mutex do that return
EALREADY business it's supposed to, vs going straight to while(1).  We
can't have it both ways, so I suppose I'll fire up my old Q6600 box
(that doesn't have annoying GTX980 that my userspace can't deal with DRM
wise), and see if I can chase the nouveau thing down.  I'm not all that
enthusiastic though, as there are or at least were other issues with
nouveau.  Sebastian reported some completely _missing_ locking IIRC,
that led to his box exploding. 

        -Mike


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to