From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938625AbcKXLxI (ORCPT ); Thu, 24 Nov 2016 06:53:08 -0500 Received: from mail-io0-f180.google.com ([209.85.223.180]:33875 "EHLO mail-io0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936310AbcKXLxF (ORCPT ); Thu, 24 Nov 2016 06:53:05 -0500 MIME-Version: 1.0 X-Originating-IP: [2a02:168:56b5:0:ac27:b86c:7764:9429] In-Reply-To: <20161124114007.GE3092@twins.programming.kicks-ass.net> References: <1479900325-28358-1-git-send-email-nhaehnle@gmail.com> <20161123140336.GU3092@twins.programming.kicks-ass.net> <20161123142525.ns2pkyp4bo2sa5z2@phenom.ffwll.local> <20161124114007.GE3092@twins.programming.kicks-ass.net> From: Daniel Vetter Date: Thu, 24 Nov 2016 12:52:25 +0100 X-Google-Sender-Auth: m6Dc-ZEki3jWlGnxGMVXHFsHq9w Message-ID: Subject: Re: [PATCH 1/4] locking/ww_mutex: Fix a deadlock affecting ww_mutexes To: Peter Zijlstra Cc: =?UTF-8?Q?Nicolai_H=C3=A4hnle?= , =?UTF-8?Q?Nicolai_H=C3=A4hnle?= , Linux Kernel Mailing List , stable , Ingo Molnar , dri-devel , Maarten Lankhorst Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 24, 2016 at 12:40 PM, Peter Zijlstra wrote: > >> I do believe we can win a bit by keeping the wait list sorted, if we also >> make sure that waiters don't add themselves in the first place if they see >> that a deadlock situation cannot be avoided. >> >> I will probably want to extend struct mutex_waiter with ww_mutex-specific >> fields to facilitate this (i.e. ctx pointer, perhaps stamp as well to reduce >> pointer-chasing). That should be fine since it lives on the stack. > > Right, shouldn't be a problem I think. > > The only 'problem' I can see with using that is that its possible to mix > ww and !ww waiters through ww_mutex_lock(.ctx = NULL). This makes the > list order somewhat tricky. > > Ideally we'd remove that feature, although I see its actually used quite > a bit :/ I guess we could create a small fake acquire_ctx for single-lock paths. That way callers still don't need to deal with having an explicit ctx, but we can assume the timestamp (for ensuring fairness) is available for all cases. Otherwise there's indeed a problem with correctly (well fairly) interleaving ctx and non-ctx lockers I think. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/4] locking/ww_mutex: Fix a deadlock affecting ww_mutexes Date: Thu, 24 Nov 2016 12:52:25 +0100 Message-ID: References: <1479900325-28358-1-git-send-email-nhaehnle@gmail.com> <20161123140336.GU3092@twins.programming.kicks-ass.net> <20161123142525.ns2pkyp4bo2sa5z2@phenom.ffwll.local> <20161124114007.GE3092@twins.programming.kicks-ass.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com [IPv6:2607:f8b0:4001:c06::22d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 86C996EA00 for ; Thu, 24 Nov 2016 11:52:27 +0000 (UTC) Received: by mail-io0-x22d.google.com with SMTP id a124so75385854ioe.2 for ; Thu, 24 Nov 2016 03:52:27 -0800 (PST) In-Reply-To: <20161124114007.GE3092@twins.programming.kicks-ass.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Peter Zijlstra Cc: =?UTF-8?Q?Nicolai_H=C3=A4hnle?= , Linux Kernel Mailing List , dri-devel , Ingo Molnar , stable , Maarten Lankhorst List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBOb3YgMjQsIDIwMTYgYXQgMTI6NDAgUE0sIFBldGVyIFppamxzdHJhIDxwZXRlcnpA aW5mcmFkZWFkLm9yZz4gd3JvdGU6Cj4KPj4gSSBkbyBiZWxpZXZlIHdlIGNhbiB3aW4gYSBiaXQg Ynkga2VlcGluZyB0aGUgd2FpdCBsaXN0IHNvcnRlZCwgaWYgd2UgYWxzbwo+PiBtYWtlIHN1cmUg dGhhdCB3YWl0ZXJzIGRvbid0IGFkZCB0aGVtc2VsdmVzIGluIHRoZSBmaXJzdCBwbGFjZSBpZiB0 aGV5IHNlZQo+PiB0aGF0IGEgZGVhZGxvY2sgc2l0dWF0aW9uIGNhbm5vdCBiZSBhdm9pZGVkLgo+ Pgo+PiBJIHdpbGwgcHJvYmFibHkgd2FudCB0byBleHRlbmQgc3RydWN0IG11dGV4X3dhaXRlciB3 aXRoIHd3X211dGV4LXNwZWNpZmljCj4+IGZpZWxkcyB0byBmYWNpbGl0YXRlIHRoaXMgKGkuZS4g Y3R4IHBvaW50ZXIsIHBlcmhhcHMgc3RhbXAgYXMgd2VsbCB0byByZWR1Y2UKPj4gcG9pbnRlci1j aGFzaW5nKS4gVGhhdCBzaG91bGQgYmUgZmluZSBzaW5jZSBpdCBsaXZlcyBvbiB0aGUgc3RhY2su Cj4KPiBSaWdodCwgc2hvdWxkbid0IGJlIGEgcHJvYmxlbSBJIHRoaW5rLgo+Cj4gVGhlIG9ubHkg J3Byb2JsZW0nIEkgY2FuIHNlZSB3aXRoIHVzaW5nIHRoYXQgaXMgdGhhdCBpdHMgcG9zc2libGUg dG8gbWl4Cj4gd3cgYW5kICF3dyB3YWl0ZXJzIHRocm91Z2ggd3dfbXV0ZXhfbG9jayguY3R4ID0g TlVMTCkuIFRoaXMgbWFrZXMgdGhlCj4gbGlzdCBvcmRlciBzb21ld2hhdCB0cmlja3kuCj4KPiBJ ZGVhbGx5IHdlJ2QgcmVtb3ZlIHRoYXQgZmVhdHVyZSwgYWx0aG91Z2ggSSBzZWUgaXRzIGFjdHVh bGx5IHVzZWQgcXVpdGUKPiBhIGJpdCA6LwoKSSBndWVzcyB3ZSBjb3VsZCBjcmVhdGUgYSBzbWFs bCBmYWtlIGFjcXVpcmVfY3R4IGZvciBzaW5nbGUtbG9jawpwYXRocy4gVGhhdCB3YXkgY2FsbGVy cyBzdGlsbCBkb24ndCBuZWVkIHRvIGRlYWwgd2l0aCBoYXZpbmcgYW4KZXhwbGljaXQgY3R4LCBi dXQgd2UgY2FuIGFzc3VtZSB0aGUgdGltZXN0YW1wIChmb3IgZW5zdXJpbmcgZmFpcm5lc3MpCmlz IGF2YWlsYWJsZSBmb3IgYWxsIGNhc2VzLiBPdGhlcndpc2UgdGhlcmUncyBpbmRlZWQgYSBwcm9i bGVtIHdpdGgKY29ycmVjdGx5ICh3ZWxsIGZhaXJseSkgaW50ZXJsZWF2aW5nIGN0eCBhbmQgbm9u LWN0eCBsb2NrZXJzIEkgdGhpbmsuCi1EYW5pZWwKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCis0MSAoMCkgNzkgMzY1IDU3IDQ4IC0gaHR0cDov L2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==