From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757718AbaGWJw7 (ORCPT ); Wed, 23 Jul 2014 05:52:59 -0400 Received: from mail-ig0-f181.google.com ([209.85.213.181]:64680 "EHLO mail-ig0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757486AbaGWJw6 convert rfc822-to-8bit (ORCPT ); Wed, 23 Jul 2014 05:52:58 -0400 MIME-Version: 1.0 X-Originating-IP: [84.73.67.144] In-Reply-To: <53CF84C7.2020507@vodafone.de> References: <20140709093124.11354.3774.stgit@patser> <53CE8A57.2000803@vodafone.de> <53CF58FB.8070609@canonical.com> <53CF5B9F.1050800@amd.com> <53CF5EFE.6070307@canonical.com> <53CF63C2.7070407@vodafone.de> <53CF6622.6060803@amd.com> <53CF699D.9070902@canonical.com> <53CF6B18.5070107@vodafone.de> <53CF7035.2060808@amd.com> <53CF7191.2090008@canonical.com> <53CF765E.7020802@vodafone.de> <53CF8010.9060809@amd.com> <53CF822E.7050601@amd.com> <53CF84C7.2020507@vodafone.de> Date: Wed, 23 Jul 2014 11:52:57 +0200 Message-ID: Subject: Re: [Nouveau] [PATCH 09/17] drm/radeon: use common fence implementation for fences From: Daniel Vetter To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: =?UTF-8?Q?Christian_K=C3=B6nig?= , Maarten Lankhorst , Thomas Hellstrom , nouveau , LKML , dri-devel , Ben Skeggs , "Deucher, Alexander" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 23, 2014 at 11:47 AM, Christian König wrote: > Am 23.07.2014 11:44, schrieb Daniel Vetter: >> On Wed, Jul 23, 2014 at 11:39 AM, Daniel Vetter >> wrote: >>> >>> The scheduler needs to keep track of a lot of fences, so I think we'll >>> have to register callbacks, not a simple wait function. We must keep >>> track of all the non-i915 fences for all oustanding batches. Also, the >>> scheduler doesn't eliminate the hw queue, only keep it much slower so >>> that we can sneak in higher priority things. >>> >>> Really, scheduler or not is orthogonal. >> >> Also see my other comment about interactions between wait_fence and >> the i915 reset logic. We can't actually use it from within the >> scheduler code since that would deadlock. > > > Yeah, I see. You would need some way to abort the waiting on other devices > fences in case of a lockup. > > What about an userspace thread to offload waiting and command submission to? That's what your android guys currently do. They hate it. And google explicitly created their syncpts stuff to move all that into the kernel. That one does explicit fencing, but the end result is still that you have fences as deps between different drivers. The other problem is that dri/prime is running under an implicitly sync'ed model, so there's no clear point/responsibility for who would actually do the waiting. You'll end up with synchronous behaviour since the render sooner or later needs to perfectly align with client/compositor ipc. -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 09/17] drm/radeon: use common fence implementation for fences Date: Wed, 23 Jul 2014 11:52:57 +0200 Message-ID: References: <20140709093124.11354.3774.stgit@patser> <53CE8A57.2000803@vodafone.de> <53CF58FB.8070609@canonical.com> <53CF5B9F.1050800@amd.com> <53CF5EFE.6070307@canonical.com> <53CF63C2.7070407@vodafone.de> <53CF6622.6060803@amd.com> <53CF699D.9070902@canonical.com> <53CF6B18.5070107@vodafone.de> <53CF7035.2060808@amd.com> <53CF7191.2090008@canonical.com> <53CF765E.7020802@vodafone.de> <53CF8010.9060809@amd.com> <53CF822E.7050601@amd.com> <53CF84C7.2020507@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <53CF84C7.2020507-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: Thomas Hellstrom , nouveau , LKML , dri-devel , "Deucher, Alexander" , Ben Skeggs , =?UTF-8?Q?Christian_K=C3=B6nig?= List-Id: nouveau.vger.kernel.org T24gV2VkLCBKdWwgMjMsIDIwMTQgYXQgMTE6NDcgQU0sIENocmlzdGlhbiBLw7ZuaWcKPGRlYXRo c2ltcGxlQHZvZGFmb25lLmRlPiB3cm90ZToKPiBBbSAyMy4wNy4yMDE0IDExOjQ0LCBzY2hyaWVi IERhbmllbCBWZXR0ZXI6Cj4+IE9uIFdlZCwgSnVsIDIzLCAyMDE0IGF0IDExOjM5IEFNLCBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+PiB3cm90ZToKPj4+Cj4+PiBUaGUg c2NoZWR1bGVyIG5lZWRzIHRvIGtlZXAgdHJhY2sgb2YgYSBsb3Qgb2YgZmVuY2VzLCBzbyBJIHRo aW5rIHdlJ2xsCj4+PiBoYXZlIHRvIHJlZ2lzdGVyIGNhbGxiYWNrcywgbm90IGEgc2ltcGxlIHdh aXQgZnVuY3Rpb24uIFdlIG11c3Qga2VlcAo+Pj4gdHJhY2sgb2YgYWxsIHRoZSBub24taTkxNSBm ZW5jZXMgZm9yIGFsbCBvdXN0YW5kaW5nIGJhdGNoZXMuIEFsc28sIHRoZQo+Pj4gc2NoZWR1bGVy IGRvZXNuJ3QgZWxpbWluYXRlIHRoZSBodyBxdWV1ZSwgb25seSBrZWVwIGl0IG11Y2ggc2xvd2Vy IHNvCj4+PiB0aGF0IHdlIGNhbiBzbmVhayBpbiBoaWdoZXIgcHJpb3JpdHkgdGhpbmdzLgo+Pj4K Pj4+IFJlYWxseSwgc2NoZWR1bGVyIG9yIG5vdCBpcyBvcnRob2dvbmFsLgo+Pgo+PiBBbHNvIHNl ZSBteSBvdGhlciBjb21tZW50IGFib3V0IGludGVyYWN0aW9ucyBiZXR3ZWVuIHdhaXRfZmVuY2Ug YW5kCj4+IHRoZSBpOTE1IHJlc2V0IGxvZ2ljLiBXZSBjYW4ndCBhY3R1YWxseSB1c2UgaXQgZnJv bSB3aXRoaW4gdGhlCj4+IHNjaGVkdWxlciBjb2RlIHNpbmNlIHRoYXQgd291bGQgZGVhZGxvY2su Cj4KPgo+IFllYWgsIEkgc2VlLiBZb3Ugd291bGQgbmVlZCBzb21lIHdheSB0byBhYm9ydCB0aGUg d2FpdGluZyBvbiBvdGhlciBkZXZpY2VzCj4gZmVuY2VzIGluIGNhc2Ugb2YgYSBsb2NrdXAuCj4K PiBXaGF0IGFib3V0IGFuIHVzZXJzcGFjZSB0aHJlYWQgdG8gb2ZmbG9hZCB3YWl0aW5nIGFuZCBj b21tYW5kIHN1Ym1pc3Npb24gdG8/CgpUaGF0J3Mgd2hhdCB5b3VyIGFuZHJvaWQgZ3V5cyBjdXJy ZW50bHkgZG8uIFRoZXkgaGF0ZSBpdC4gQW5kIGdvb2dsZQpleHBsaWNpdGx5IGNyZWF0ZWQgdGhl aXIgc3luY3B0cyBzdHVmZiB0byBtb3ZlIGFsbCB0aGF0IGludG8gdGhlCmtlcm5lbC4gVGhhdCBv bmUgZG9lcyBleHBsaWNpdCBmZW5jaW5nLCBidXQgdGhlIGVuZCByZXN1bHQgaXMgc3RpbGwKdGhh dCB5b3UgaGF2ZSBmZW5jZXMgYXMgZGVwcyBiZXR3ZWVuIGRpZmZlcmVudCBkcml2ZXJzLgoKVGhl IG90aGVyIHByb2JsZW0gaXMgdGhhdCBkcmkvcHJpbWUgaXMgcnVubmluZyB1bmRlciBhbiBpbXBs aWNpdGx5CnN5bmMnZWQgbW9kZWwsIHNvIHRoZXJlJ3Mgbm8gY2xlYXIgcG9pbnQvcmVzcG9uc2li aWxpdHkgZm9yIHdobyB3b3VsZAphY3R1YWxseSBkbyB0aGUgd2FpdGluZy4gWW91J2xsIGVuZCB1 cCB3aXRoIHN5bmNocm9ub3VzIGJlaGF2aW91cgpzaW5jZSB0aGUgcmVuZGVyIHNvb25lciBvciBs YXRlciBuZWVkcyB0byBwZXJmZWN0bHkgYWxpZ24gd2l0aApjbGllbnQvY29tcG9zaXRvciBpcGMu Ci1EYW5pZWwKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBv cmF0aW9uCis0MSAoMCkgNzkgMzY1IDU3IDQ4IC0gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5n IGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK