From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED, USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98288C43381 for ; Fri, 29 Mar 2019 15:25:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4F38C206DD for ; Fri, 29 Mar 2019 15:25:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="hHCmvgss" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729502AbfC2PZJ (ORCPT ); Fri, 29 Mar 2019 11:25:09 -0400 Received: from mail-ed1-f66.google.com ([209.85.208.66]:37637 "EHLO mail-ed1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728902AbfC2PZI (ORCPT ); Fri, 29 Mar 2019 11:25:08 -0400 Received: by mail-ed1-f66.google.com with SMTP id v21so2380487edq.4 for ; Fri, 29 Mar 2019 08:25:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=n+j5naJzagBKSIXO+iRAU1SvHT15/V9v3CCeSklqZro=; b=hHCmvgssBKZI7QiJW4Bv393LztSKSKiNhVwJT8at/sOv6hxu/9TmfGKM3jQrQ2ppHD bYz2GDQsDd872Br/7jP/G+kVB/ggPoEra0lHSgBcj7IsD2nA+zgdOcXCfmDK/9tgeVU6 8ui6bb7RBc1wiabwKVsnpEdbiCnyUVrCMunHY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=n+j5naJzagBKSIXO+iRAU1SvHT15/V9v3CCeSklqZro=; b=dIoS4Zr4bqHQ8i9IKz2NLsTAWqXSsC6Pm5/KhFV058Ft5mnhlWiPXW7DTrr0nIsvpp i0neZnwX1kf2AyXoyw3HT26kgNRUWIqckJKi0P/LSpSAofOvAHGj5aVV0FbwYlD/+33D vrRU44x3Z0yRvDCn+Knxgn9hR4Bmf4FpyHLwhBo7AT5GoFzlypb8a8NM9qEBn4+iBok/ 9SzMt3/cP+mhROJjGHwWWAa8zICl/UPbEG477Z51TyRwHFSVArv1Duyg1GJ3hckS1zji 6ZJJO8MURPzdRWy0G6O+ZePLTyJiGw8VosQ0X4HjUkE3rpcH2gX/2cWsz5zuj6FEMoIy 6J+w== X-Gm-Message-State: APjAAAWWEefHVTcbJZhz8r/srmf0+Q5HBmP9O0U/JqakXSYR8IsCG8tP 1Lr9KOH/1gjBDEVhnUwmVtVHWfNYMSM= X-Google-Smtp-Source: APXvYqzpnKp5ybbQfwrU7HDB+6NrpGcZDETt4QZvnLqk65gPppCBrQU3cGPzfcf90Ap9WyXm9eG2tA== X-Received: by 2002:a17:906:a945:: with SMTP id hh5mr5238211ejb.108.1553873105860; Fri, 29 Mar 2019 08:25:05 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id k3sm715519edi.65.2019.03.29.08.25.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 29 Mar 2019 08:25:04 -0700 (PDT) Date: Fri, 29 Mar 2019 16:25:02 +0100 From: Daniel Vetter To: Paul Kocialkowski Cc: Daniel Stone , Eric Anholt , dri-devel , Linux Kernel Mailing List , Maarten Lankhorst , Maxime Ripard , Sean Paul , David Airlie , Eben Upton , Thomas Petazzoni Subject: Re: [PATCH v2 1/2] drm/file: Rehabilitate the firstopen hook for non-legacy drivers Message-ID: <20190329152502.GO2665@phenom.ffwll.local> Mail-Followup-To: Paul Kocialkowski , Daniel Stone , Eric Anholt , dri-devel , Linux Kernel Mailing List , Maarten Lankhorst , Maxime Ripard , Sean Paul , David Airlie , Eben Upton , Thomas Petazzoni References: <20190320154809.14823-1-paul.kocialkowski@bootlin.com> <20190320154809.14823-2-paul.kocialkowski@bootlin.com> <87zhpph4c2.fsf@anholt.net> <82618ee8c2a2380a62b1fb894e5c35c602e20f3d.camel@bootlin.com> <20190328185307.GZ2665@phenom.ffwll.local> <5ed7c5f361bca47d3f9771f9ed27e28e2fccb179.camel@bootlin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5ed7c5f361bca47d3f9771f9ed27e28e2fccb179.camel@bootlin.com> X-Operating-System: Linux phenom 4.19.0-1-amd64 User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 29, 2019 at 04:02:23PM +0100, Paul Kocialkowski wrote: > Hi, > > On Fri, 2019-03-29 at 09:09 +0000, Daniel Stone wrote: > > Hi, > > > > On Thu, 28 Mar 2019 at 18:53, Daniel Vetter wrote: > > > On Thu, Mar 21, 2019 at 04:27:06PM +0100, Paul Kocialkowski wrote: > > > > I don't see other options either, and using firstclose/lastopen feels > > > > overall more readable in the driver code. > > > > > > > > I'm not sure there is such a big overhead associated with allocating > > > > the binner BO (it seems that the current implementation tries to alloc > > > > until the specific memory constraints for the buffer are met, so > > > > perhaps that can take time). But if there is, I suppose it's best to > > > > have that when starting up rather than delaying the first render > > > > operation. > > > > > > I'm not entirely buying the "we don't need this for fbcon only" argument - > > > there's plenty of dumb kms clients too (boot splash and whatever else > > > there might be). If you don't want to keep this around I think allocating > > > on first non-dumb bo allocation and dropping it when the last such fd > > > closes sounds like a much better idea. Needs a bit more state, you need to > > > track per drm_file whether you've already allocated a non-dumb bo, and a > > > drm_device refcount, but that's not much. Firstopen feels like the wrong > > > thing. > > > > > > Another option would be first_renderopen or something like that, except > > > you can also render on the legacy node and I'm not sure how much there's a > > > demand for this in other drivers. In the end you have open/close > > > callbacks, you can do all the driver specific things you want to do in > > > there. > > > > I'd like to avoid doing it in open where possible, since that hurts > > device enumeration from userspace. > > I've noticed the same issue with firstopen, where our buffer is > allocated/liberated a couple of times during enumeration, before the > final open that stays alive during use. > > I'm not sure what is preferable between that and allocating when the > GPU is first used. Slowing down the first GPU operation with the > allocation does not sound too great either and it feels like the buffer > should have been allocated earlier. > > To me, it feels I think it's better to have delays due to allocation at > enumeration / startup rather than later on, but I might be missing some > elements to have a clear idea. > > What do you think? We'll have the delay somewhere on driver load. Better to have it only once (when the driver starts using gem for real), than a bunch of time, at least once while enumerating and then once more while actually initializing. I think if you allocat this on first non-dumb gem_create, and on first command submission (just so evil userspace can't screw up the hw too badly), that should be perfectly fine. Only way to avoid that is to allocate at driver load and pin it, but that's what we're trying to avoid here. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 1/2] drm/file: Rehabilitate the firstopen hook for non-legacy drivers Date: Fri, 29 Mar 2019 16:25:02 +0100 Message-ID: <20190329152502.GO2665@phenom.ffwll.local> References: <20190320154809.14823-1-paul.kocialkowski@bootlin.com> <20190320154809.14823-2-paul.kocialkowski@bootlin.com> <87zhpph4c2.fsf@anholt.net> <82618ee8c2a2380a62b1fb894e5c35c602e20f3d.camel@bootlin.com> <20190328185307.GZ2665@phenom.ffwll.local> <5ed7c5f361bca47d3f9771f9ed27e28e2fccb179.camel@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 378016E864 for ; Fri, 29 Mar 2019 15:25:07 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id q14so2369709edr.5 for ; Fri, 29 Mar 2019 08:25:07 -0700 (PDT) Content-Disposition: inline In-Reply-To: <5ed7c5f361bca47d3f9771f9ed27e28e2fccb179.camel@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Paul Kocialkowski Cc: Eben Upton , Maxime Ripard , David Airlie , Linux Kernel Mailing List , dri-devel , Thomas Petazzoni , Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXIgMjksIDIwMTkgYXQgMDQ6MDI6MjNQTSArMDEwMCwgUGF1bCBLb2NpYWxrb3dz a2kgd3JvdGU6Cj4gSGksCj4gCj4gT24gRnJpLCAyMDE5LTAzLTI5IGF0IDA5OjA5ICswMDAwLCBE YW5pZWwgU3RvbmUgd3JvdGU6Cj4gPiBIaSwKPiA+IAo+ID4gT24gVGh1LCAyOCBNYXIgMjAxOSBh dCAxODo1MywgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90ZToKPiA+ID4gT24g VGh1LCBNYXIgMjEsIDIwMTkgYXQgMDQ6Mjc6MDZQTSArMDEwMCwgUGF1bCBLb2NpYWxrb3dza2kg d3JvdGU6Cj4gPiA+ID4gSSBkb24ndCBzZWUgb3RoZXIgb3B0aW9ucyBlaXRoZXIsIGFuZCB1c2lu ZyBmaXJzdGNsb3NlL2xhc3RvcGVuIGZlZWxzCj4gPiA+ID4gb3ZlcmFsbCBtb3JlIHJlYWRhYmxl IGluIHRoZSBkcml2ZXIgY29kZS4KPiA+ID4gPiAKPiA+ID4gPiBJJ20gbm90IHN1cmUgdGhlcmUg aXMgc3VjaCBhIGJpZyBvdmVyaGVhZCBhc3NvY2lhdGVkIHdpdGggYWxsb2NhdGluZwo+ID4gPiA+ IHRoZSBiaW5uZXIgQk8gKGl0IHNlZW1zIHRoYXQgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24g dHJpZXMgdG8gYWxsb2MKPiA+ID4gPiB1bnRpbCB0aGUgc3BlY2lmaWMgbWVtb3J5IGNvbnN0cmFp bnRzIGZvciB0aGUgYnVmZmVyIGFyZSBtZXQsIHNvCj4gPiA+ID4gcGVyaGFwcyB0aGF0IGNhbiB0 YWtlIHRpbWUpLiBCdXQgaWYgdGhlcmUgaXMsIEkgc3VwcG9zZSBpdCdzIGJlc3QgdG8KPiA+ID4g PiBoYXZlIHRoYXQgd2hlbiBzdGFydGluZyB1cCByYXRoZXIgdGhhbiBkZWxheWluZyB0aGUgZmly c3QgcmVuZGVyCj4gPiA+ID4gb3BlcmF0aW9uLgo+ID4gPiAKPiA+ID4gSSdtIG5vdCBlbnRpcmVs eSBidXlpbmcgdGhlICJ3ZSBkb24ndCBuZWVkIHRoaXMgZm9yIGZiY29uIG9ubHkiIGFyZ3VtZW50 IC0KPiA+ID4gdGhlcmUncyBwbGVudHkgb2YgZHVtYiBrbXMgY2xpZW50cyB0b28gKGJvb3Qgc3Bs YXNoIGFuZCB3aGF0ZXZlciBlbHNlCj4gPiA+IHRoZXJlIG1pZ2h0IGJlKS4gSWYgeW91IGRvbid0 IHdhbnQgdG8ga2VlcCB0aGlzIGFyb3VuZCBJIHRoaW5rIGFsbG9jYXRpbmcKPiA+ID4gb24gZmly c3Qgbm9uLWR1bWIgYm8gYWxsb2NhdGlvbiBhbmQgZHJvcHBpbmcgaXQgd2hlbiB0aGUgbGFzdCBz dWNoIGZkCj4gPiA+IGNsb3NlcyBzb3VuZHMgbGlrZSBhIG11Y2ggYmV0dGVyIGlkZWEuIE5lZWRz IGEgYml0IG1vcmUgc3RhdGUsIHlvdSBuZWVkIHRvCj4gPiA+IHRyYWNrIHBlciBkcm1fZmlsZSB3 aGV0aGVyIHlvdSd2ZSBhbHJlYWR5IGFsbG9jYXRlZCBhIG5vbi1kdW1iIGJvLCBhbmQgYQo+ID4g PiBkcm1fZGV2aWNlIHJlZmNvdW50LCBidXQgdGhhdCdzIG5vdCBtdWNoLiBGaXJzdG9wZW4gZmVl bHMgbGlrZSB0aGUgd3JvbmcKPiA+ID4gdGhpbmcuCj4gPiA+IAo+ID4gPiBBbm90aGVyIG9wdGlv biB3b3VsZCBiZSBmaXJzdF9yZW5kZXJvcGVuIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQsIGV4Y2Vw dAo+ID4gPiB5b3UgY2FuIGFsc28gcmVuZGVyIG9uIHRoZSBsZWdhY3kgbm9kZSBhbmQgSSdtIG5v dCBzdXJlIGhvdyBtdWNoIHRoZXJlJ3MgYQo+ID4gPiBkZW1hbmQgZm9yIHRoaXMgaW4gb3RoZXIg ZHJpdmVycy4gSW4gdGhlIGVuZCB5b3UgaGF2ZSBvcGVuL2Nsb3NlCj4gPiA+IGNhbGxiYWNrcywg eW91IGNhbiBkbyBhbGwgdGhlIGRyaXZlciBzcGVjaWZpYyB0aGluZ3MgeW91IHdhbnQgdG8gZG8g aW4KPiA+ID4gdGhlcmUuCj4gPiAKPiA+IEknZCBsaWtlIHRvIGF2b2lkIGRvaW5nIGl0IGluIG9w ZW4gd2hlcmUgcG9zc2libGUsIHNpbmNlIHRoYXQgaHVydHMKPiA+IGRldmljZSBlbnVtZXJhdGlv biBmcm9tIHVzZXJzcGFjZS4KPiAKPiBJJ3ZlIG5vdGljZWQgdGhlIHNhbWUgaXNzdWUgd2l0aCBm aXJzdG9wZW4sIHdoZXJlIG91ciBidWZmZXIgaXMKPiBhbGxvY2F0ZWQvbGliZXJhdGVkIGEgY291 cGxlIG9mIHRpbWVzIGR1cmluZyBlbnVtZXJhdGlvbiwgYmVmb3JlIHRoZQo+IGZpbmFsIG9wZW4g dGhhdCBzdGF5cyBhbGl2ZSBkdXJpbmcgdXNlLgo+IAo+IEknbSBub3Qgc3VyZSB3aGF0IGlzIHBy ZWZlcmFibGUgYmV0d2VlbiB0aGF0IGFuZCBhbGxvY2F0aW5nIHdoZW4gdGhlCj4gR1BVIGlzIGZp cnN0IHVzZWQuIFNsb3dpbmcgZG93biB0aGUgZmlyc3QgR1BVIG9wZXJhdGlvbiB3aXRoIHRoZQo+ IGFsbG9jYXRpb24gZG9lcyBub3Qgc291bmQgdG9vIGdyZWF0IGVpdGhlciBhbmQgaXQgZmVlbHMg bGlrZSB0aGUgYnVmZmVyCj4gc2hvdWxkIGhhdmUgYmVlbiBhbGxvY2F0ZWQgZWFybGllci4KPiAK PiBUbyBtZSwgaXQgZmVlbHMgSSB0aGluayBpdCdzIGJldHRlciB0byBoYXZlIGRlbGF5cyBkdWUg dG8gYWxsb2NhdGlvbiBhdAo+IGVudW1lcmF0aW9uIC8gc3RhcnR1cCByYXRoZXIgdGhhbiBsYXRl ciBvbiwgYnV0IEkgbWlnaHQgYmUgbWlzc2luZyBzb21lCj4gZWxlbWVudHMgdG8gaGF2ZSBhIGNs ZWFyIGlkZWEuCj4gCj4gV2hhdCBkbyB5b3UgdGhpbms/CgpXZSdsbCBoYXZlIHRoZSBkZWxheSBz b21ld2hlcmUgb24gZHJpdmVyIGxvYWQuIEJldHRlciB0byBoYXZlIGl0IG9ubHkgb25jZQood2hl biB0aGUgZHJpdmVyIHN0YXJ0cyB1c2luZyBnZW0gZm9yIHJlYWwpLCB0aGFuIGEgYnVuY2ggb2Yg dGltZSwgYXQKbGVhc3Qgb25jZSB3aGlsZSBlbnVtZXJhdGluZyBhbmQgdGhlbiBvbmNlIG1vcmUg d2hpbGUgYWN0dWFsbHkKaW5pdGlhbGl6aW5nLiBJIHRoaW5rIGlmIHlvdSBhbGxvY2F0IHRoaXMg b24gZmlyc3Qgbm9uLWR1bWIgZ2VtX2NyZWF0ZSwKYW5kIG9uIGZpcnN0IGNvbW1hbmQgc3VibWlz c2lvbiAoanVzdCBzbyBldmlsIHVzZXJzcGFjZSBjYW4ndCBzY3JldyB1cCB0aGUKaHcgdG9vIGJh ZGx5KSwgdGhhdCBzaG91bGQgYmUgcGVyZmVjdGx5IGZpbmUuCgpPbmx5IHdheSB0byBhdm9pZCB0 aGF0IGlzIHRvIGFsbG9jYXRlIGF0IGRyaXZlciBsb2FkIGFuZCBwaW4gaXQsIGJ1dAp0aGF0J3Mg d2hhdCB3ZSdyZSB0cnlpbmcgdG8gYXZvaWQgaGVyZS4KLURhbmllbAotLSAKRGFuaWVsIFZldHRl cgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwu Y2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs