On Tue, 2015-02-24 at 13:19 -0300, Gustavo Bittencourt wrote: > On Tue, Feb 24, 2015 at 10:41 AM, Mike Galbraith > <umgwanakikbuti@xxxxxxxxx> 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 <umgwanakikbuti@xxxxxxxxx> > > --- > > 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-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html