Re: [ANNOUNCE] 3.18.7-rt2
From: Mike Galbraith <hidden>
Date: 2015-02-24 17:50:22
Also in:
lkml
On Tue, 2015-02-24 at 13:19 -0300, Gustavo Bittencourt wrote:
On Tue, Feb 24, 2015 at 10:41 AM, Mike Galbraith [off-list ref] wrote:quoted
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 <redacted> --- kernel/locking/rtmutex.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-)--- a/kernel/locking/rtmutex.c +++ b/kernel/locking/rtmutex.cThe 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