From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: 3.18-rc regression: drm/nouveau: use shared fences for readable objects Date: Thu, 20 Nov 2014 09:41:15 +0100 Message-ID: <546DA92B.9080501@canonical.com> References: <546C5085.1020300@canonical.com> <546D2309.90201@mni.thm.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by gabe.freedesktop.org (Postfix) with ESMTP id E8AA36F515 for ; Thu, 20 Nov 2014 00:41:20 -0800 (PST) In-Reply-To: <546D2309.90201@mni.thm.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Tobias Klausmann , Michael Marineau , dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Ben Skeggs List-Id: dri-devel@lists.freedesktop.org T3AgMjAtMTEtMTQgb20gMDA6MDggc2NocmVlZiBUb2JpYXMgS2xhdXNtYW5uOgo+IE9uIDE5LjEx LjIwMTQgMDk6MTAsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+PiAuLi4KPj4gT24gdGhlIEVE SVRFRCBwYXRjaCBmcm9tIGZpeGVkLWZlbmNlcy1mb3ItYmlzZWN0LCBjYW4geW91IGRvIHRoZSBm b2xsb3dpbmc6Cj4+Cj4+IEluIG5vdXZlYXUvbnY4NF9mZW5jZS5jIGZ1bmN0aW9uIG52ODRfZmVu Y2VfY29udGV4dF9uZXcsIHJlbW92ZQo+Pgo+PiBmY3R4LT5iYXNlLnNlcXVlbmNlID0gbnY4NF9m ZW5jZV9yZWFkKGNoYW4pOwo+Pgo+PiBhbmQgYWRkIGJhY2sKPj4KPj4gbm91dmVhdV9ib193cjMy KHByaXYtPmJvLCBjaGFuLT5jaGlkICogMTYvNCwgMHgwMDAwMDAwMCk7Cj4+Cj4+IC4uLgo+Cj4g QWRkZWQgdGhlIGFib3ZlIG9uIHRvcCBvZiB5b3VyICJmaXhlZC1mZW5jZXMtZm9yLWJpc2VjdCIg YnJhbmNoIGFuZCBndWVzc2VkIGl0IHdvdWxkIHdvcmssIGJ1dCBkaWQgbm90IDovCj4gQW55d2F5 LCBhcyB0aGlzICJpbml0aWFsaXplcyIgdGhlIGZlbmNlIHRvIGEga25vd24gc3RhdGUsIG1heWJl IHlvdSBzaG91bGQgY29uc2lkZXIgcHVzaGluZyB0aGF0LgpIZXksCgpUaGVyZSBpcyBhIHJlYXNv biBJIGRvbid0IHNldCBpdCB0byBhIGtub3duIHN0YXRlIG9uIG52ODQrLgoKQ2hhbm5lbCAyIGlz IGNyZWF0ZWQsIGZlbmNlIHNlcW5vIGVuZHMgdXAgYmVpbmcgMTAwLCBvdGhlciBjaGFubmVsIHdh aXRzIG9uIHNlcW5vIHJlYWNoaW5nIDEwMC4KQ2hhbm5lbCAyIGlzIGRlc3Ryb3llZCwgYW5kIGlt bWVkaWF0ZWx5IHJlY3JlYXRlZC4gU2Vxbm8gaXMgcmVzZXQgdG8gMC4KT3RoZXIgY2hhbm5lbCB3 YWl0cyBmb3IgY2hhbm5lbCAyJ3Mgc2Vxbm8gYmVpbmcgMTAwLgoKVGhlIG90aGVyIGNoYW5uZWwg Y2FuIGtlZXAgd2FpdGluZyBpbmRlZmluaXRlbHkuCgpJIGd1ZXNzIGl0IG1pZ2h0IGJlIHVzZWZ1 bCB0byByZXNldCB0aGUgY29udGVudHMgb2YgdGhlIGJvIHRvIHplcm8gb24gYWxsb2NhdGlvbiwg YnV0IGl0IHNob3VsZCBub3QgYmUgZG9uZSBpbiBmZW5jZV9jb250ZXh0X25ldy4KCn5NYWFydGVu CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757084AbaKTIlV (ORCPT ); Thu, 20 Nov 2014 03:41:21 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:55362 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755957AbaKTIlT (ORCPT ); Thu, 20 Nov 2014 03:41:19 -0500 Message-ID: <546DA92B.9080501@canonical.com> Date: Thu, 20 Nov 2014 09:41:15 +0100 From: Maarten Lankhorst User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Tobias Klausmann , Michael Marineau , dri-devel@lists.freedesktop.org CC: linux-kernel@vger.kernel.org, Ben Skeggs , David Airlie Subject: Re: 3.18-rc regression: drm/nouveau: use shared fences for readable objects References: <546C5085.1020300@canonical.com> <546D2309.90201@mni.thm.de> In-Reply-To: <546D2309.90201@mni.thm.de> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Op 20-11-14 om 00:08 schreef Tobias Klausmann: > On 19.11.2014 09:10, Maarten Lankhorst wrote: >> ... >> On the EDITED patch from fixed-fences-for-bisect, can you do the following: >> >> In nouveau/nv84_fence.c function nv84_fence_context_new, remove >> >> fctx->base.sequence = nv84_fence_read(chan); >> >> and add back >> >> nouveau_bo_wr32(priv->bo, chan->chid * 16/4, 0x00000000); >> >> ... > > Added the above on top of your "fixed-fences-for-bisect" branch and guessed it would work, but did not :/ > Anyway, as this "initializes" the fence to a known state, maybe you should consider pushing that. Hey, There is a reason I don't set it to a known state on nv84+. Channel 2 is created, fence seqno ends up being 100, other channel waits on seqno reaching 100. Channel 2 is destroyed, and immediately recreated. Seqno is reset to 0. Other channel waits for channel 2's seqno being 100. The other channel can keep waiting indefinitely. I guess it might be useful to reset the contents of the bo to zero on allocation, but it should not be done in fence_context_new. ~Maarten