From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sandeep Patil Subject: Re: [RFC][PATCH 0/2] Allow DMA BUF heaps to be loaded as modules Date: Tue, 12 Nov 2019 09:49:02 +0900 Message-ID: <20191111062807.GA17144@google.com> References: <20191025234834.28214-1-john.stultz@linaro.org> <20191104095823.GD10326@phenom.ffwll.local> <20191105094259.GX10326@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: John Stultz Cc: Daniel Vetter , lkml , Mike Rapoport , Chenbo Feng , Alistair Strachan , Liam Mark , Yue Hu , dri-devel , "Andrew F . Davis" , Hridya Valsaraju , Andrew Morton , Pratik Patel List-Id: dri-devel@lists.freedesktop.org On Tue, Nov 05, 2019 at 09:41:44AM -0800, John Stultz wrote: > On Tue, Nov 5, 2019 at 1:43 AM Daniel Vetter wrote: > > > > On Mon, Nov 04, 2019 at 10:57:44AM -0800, John Stultz wrote: > > > On Mon, Nov 4, 2019 at 1:58 AM Daniel Vetter wrote: > > > > On Fri, Oct 25, 2019 at 11:48:32PM +0000, John Stultz wrote: > > > So even if the heaps are configured via DT (which at the moment there > > > is no such binding, so that's not really a valid method yet), there's > > > still the question of if the heap is necessary/makes sense on the > > > device. And the DT would only control the availability of the heap > > > interface, not if the heap driver is loaded or not. > > > > Hm I thought the cma regions are configured in DT? How does that work if > > it's not using DT? > > So yea, CMA regions are either configured by DT or setup at build time > (I think there's a cmdline option to set it up as well). > > But the CMA regions and the dmabuf cma heap driver are separate > things. The latter uses the former. > > > > On the HiKey/HiKey960 boards, we have to allocate contiguous buffers > > > for the display framebuffer. So gralloc uses ION to allocate from the > > > CMA heap. However on the db845c, it has no such restrictions, so the > > > CMA heap isn't necessary. > > > > Why do you have a CMA region for the 2nd board if you don't need it? > > _That_ sounds like some serious memory waster, not a few lines of code > > loaded for nothing :-) > > ??? That's not what I said above. If the db845c doesn't need CMA it > won't have a CMA region. > > The issue at hand is that we may want to avoid loading the dmabuf CMA > heap driver on a board that doesn't use CMA. > > > > > With Android's GKI effort, there needs to be one kernel that works on > > > all the devices, and they are using modules to try to minimize the > > > amount of memory spent on functionality that isn't universally needed. > > > So on devices that don't need the CMA heap, they'd probably prefer not > > > to load the CMA dmabuf heap driver, so it would be best if it could be > > > built as a module. If we want to build the CMA heap as a module, the > > > symbols it uses need to be exported. > > > > Yeah, I guess I'm disagreeing on whether dma-buf heaps are core or not. > > That's fine to dispute. I'm not really in a place to assert one way or > not, but the Android folks have made their ION system and CMA heaps > loadable via a module, so it would seem like having the dmabuf system > and CMA heaps be modular would be useful to properly replace that > usage. > > For instance, the system heap as a module probably doesn't make much > sense, as most boards that want to use the dmabuf heaps interface are > likely to use that as well. CMA is more optional as not all boards > will use that one, so it might make sense to avoid loading it. > > Sandeep: Can you chime in here as to how critical having the system > and cma heaps be modules are? With ion, we are making sure there are *standard* heaps that Android should be able to rely on to exist in all kernels [1]. That list is based on what default heaps ion had out-of-tree. As of today, even from those that ion had, Android vendor independent code only relies on 'system heap' and 'cma/dma heaps' so, can safely ignore the carveout and other ion heaps. system heap is really the one that is realistically 'hardware independent', so that can be in kernel. The cma heaps and their existence is optional, so it will be nice to be able to load them as modules. - ssp 1. https://android.googlesource.com/platform/system/core/+/refs/heads/master/libion/kernel-headers/linux/ion_4.19.h#28 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.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 42E6EC43331 for ; Tue, 12 Nov 2019 08:14:01 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1FDA021925 for ; Tue, 12 Nov 2019 08:14:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1FDA021925 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=android.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4734A6EA6C; Tue, 12 Nov 2019 08:13:39 +0000 (UTC) Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) by gabe.freedesktop.org (Postfix) with ESMTPS id A3B496EA4A for ; Tue, 12 Nov 2019 00:49:06 +0000 (UTC) Received: by mail-pf1-x441.google.com with SMTP id 3so11999340pfb.10 for ; Mon, 11 Nov 2019 16:49:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=SHfnAOauvxH+QL+M+wn9JpGV7bZ6YLTyV5/QqLFO508=; b=QQXzHH3t8pSpX9whimXfjGSXmChncCzAV5y7V6UX1m5XuaX+/k9UeDfpYbwgsgQnUw 4+o2rrFsnK2Oty+EZkT5WUJ178YGLcmvkF+7/0Tpl+hjlGbdHJRHxELnw82JcrenpVME KZqhDNVBlZnbNKRXY6NaLqEWeC1q7kNFGLthOzoY/8XzjAcE7NXNmLRSwPwzBEKr3dlW d/ZvXuTXst10fs81nSxfI+hFy2MhastXFTNZE9DiXprG1yU+nPJpdtrln8R2q4hnzbvX WRwWGeJuSYqvmTqdOjA8OMyfAh8LpVd2PkJpVV7iM3lkTPBR7J/Q5HBGRL+hnkXQINiN zM/A== X-Gm-Message-State: APjAAAUXjc5xhSSXaohGdPGvPXbgniBIZ247t1Fe7ZpIs6KTD2s6y033 g7FaSFD0GK+LRB6fZ3Kxu7F/4Q== X-Google-Smtp-Source: APXvYqz5TX5mwtEo3ZJSHgMs9ccFOENBQqOOu8UqyWeIhtwLLZ/ZiqWEfYRhTOQY8AW5U9Fi7nROJA== X-Received: by 2002:a62:1c91:: with SMTP id c139mr23723641pfc.175.1573519746088; Mon, 11 Nov 2019 16:49:06 -0800 (PST) Received: from localhost ([2401:fa00:d:2:4dd6:fffa:d6aa:9572]) by smtp.gmail.com with ESMTPSA id q41sm596688pja.20.2019.11.11.16.49.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Nov 2019 16:49:05 -0800 (PST) Date: Tue, 12 Nov 2019 09:49:02 +0900 From: Sandeep Patil To: John Stultz Subject: Re: [RFC][PATCH 0/2] Allow DMA BUF heaps to be loaded as modules Message-ID: <20191111062807.GA17144@google.com> References: <20191025234834.28214-1-john.stultz@linaro.org> <20191104095823.GD10326@phenom.ffwll.local> <20191105094259.GX10326@phenom.ffwll.local> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Mailman-Approved-At: Tue, 12 Nov 2019 08:13:33 +0000 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=SHfnAOauvxH+QL+M+wn9JpGV7bZ6YLTyV5/QqLFO508=; b=VQdtk6+sVfprM7qZTXqIDkWhg0OjK2FDZJUwAwjlfjciFxsVW+EzV+nHkeNI5IboAn +7tK8kfxQrDg62LsReAYo1ywxA9lg8h7VJ2i9mQhAIqVBYC+0oaWQSpAyrOGdgs3kHVh d9EyKMqI8wbgrgWR33rBI3gRvJLFYBOAwbkVyHVEBZaT0hn5i8RMxAdujwy9ZcvG/btj DEMS11YGsJpX0kbqGW7XXU97zYz6mSATFbrKqVYK0mzeLnuKhygSLZVwurS7uUjHl2p/ BwFp7y1o70WNvp8LlfOb7K2yuD05pKgpvpRXjsA5RdGnUyhaX+PEFMjQup4tfkeAgGlK +nsA== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Chenbo Feng , Alistair Strachan , Liam Mark , lkml , Yue Hu , dri-devel , "Andrew F . Davis" , Hridya Valsaraju , Andrew Morton , Mike Rapoport , Pratik Patel Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191112004902.pX9TiG73962sMR_mgBsqJb1MiPRt-cSrgGFY6JbMm2g@z> T24gVHVlLCBOb3YgMDUsIDIwMTkgYXQgMDk6NDE6NDRBTSAtMDgwMCwgSm9obiBTdHVsdHogd3Jv dGU6Cj4gT24gVHVlLCBOb3YgNSwgMjAxOSBhdCAxOjQzIEFNIERhbmllbCBWZXR0ZXIgPGRhbmll bEBmZndsbC5jaD4gd3JvdGU6Cj4gPgo+ID4gT24gTW9uLCBOb3YgMDQsIDIwMTkgYXQgMTA6NTc6 NDRBTSAtMDgwMCwgSm9obiBTdHVsdHogd3JvdGU6Cj4gPiA+IE9uIE1vbiwgTm92IDQsIDIwMTkg YXQgMTo1OCBBTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+ID4gPiA+ IE9uIEZyaSwgT2N0IDI1LCAyMDE5IGF0IDExOjQ4OjMyUE0gKzAwMDAsIEpvaG4gU3R1bHR6IHdy b3RlOgo+ID4gPiBTbyBldmVuIGlmIHRoZSBoZWFwcyBhcmUgY29uZmlndXJlZCB2aWEgRFQgKHdo aWNoIGF0IHRoZSBtb21lbnQgdGhlcmUKPiA+ID4gaXMgbm8gc3VjaCBiaW5kaW5nLCBzbyB0aGF0 J3Mgbm90IHJlYWxseSBhIHZhbGlkIG1ldGhvZCB5ZXQpLCB0aGVyZSdzCj4gPiA+IHN0aWxsIHRo ZSBxdWVzdGlvbiBvZiBpZiB0aGUgaGVhcCBpcyBuZWNlc3NhcnkvbWFrZXMgc2Vuc2Ugb24gdGhl Cj4gPiA+IGRldmljZS4gQW5kIHRoZSBEVCB3b3VsZCBvbmx5IGNvbnRyb2wgdGhlIGF2YWlsYWJp bGl0eSBvZiB0aGUgaGVhcAo+ID4gPiBpbnRlcmZhY2UsIG5vdCBpZiB0aGUgaGVhcCBkcml2ZXIg aXMgbG9hZGVkIG9yIG5vdC4KPiA+Cj4gPiBIbSBJIHRob3VnaHQgdGhlIGNtYSByZWdpb25zIGFy ZSBjb25maWd1cmVkIGluIERUPyBIb3cgZG9lcyB0aGF0IHdvcmsgaWYKPiA+IGl0J3Mgbm90IHVz aW5nIERUPwo+IAo+IFNvIHllYSwgQ01BIHJlZ2lvbnMgYXJlIGVpdGhlciBjb25maWd1cmVkIGJ5 IERUIG9yIHNldHVwIGF0IGJ1aWxkIHRpbWUKPiAoSSB0aGluayB0aGVyZSdzIGEgY21kbGluZSBv cHRpb24gdG8gc2V0IGl0IHVwIGFzIHdlbGwpLgo+IAo+IEJ1dCB0aGUgQ01BIHJlZ2lvbnMgYW5k IHRoZSBkbWFidWYgY21hIGhlYXAgZHJpdmVyIGFyZSBzZXBhcmF0ZQo+IHRoaW5ncy4gVGhlIGxh dHRlciB1c2VzIHRoZSBmb3JtZXIuCj4gCj4gPiA+IE9uIHRoZSBIaUtleS9IaUtleTk2MCBib2Fy ZHMsIHdlIGhhdmUgdG8gYWxsb2NhdGUgY29udGlndW91cyBidWZmZXJzCj4gPiA+IGZvciB0aGUg ZGlzcGxheSBmcmFtZWJ1ZmZlci4gU28gZ3JhbGxvYyB1c2VzIElPTiB0byBhbGxvY2F0ZSBmcm9t IHRoZQo+ID4gPiBDTUEgaGVhcC4gSG93ZXZlciBvbiB0aGUgZGI4NDVjLCBpdCBoYXMgbm8gc3Vj aCByZXN0cmljdGlvbnMsIHNvIHRoZQo+ID4gPiBDTUEgaGVhcCBpc24ndCBuZWNlc3NhcnkuCj4g Pgo+ID4gV2h5IGRvIHlvdSBoYXZlIGEgQ01BIHJlZ2lvbiBmb3IgdGhlIDJuZCBib2FyZCBpZiB5 b3UgZG9uJ3QgbmVlZCBpdD8KPiA+IF9UaGF0XyBzb3VuZHMgbGlrZSBzb21lIHNlcmlvdXMgbWVt b3J5IHdhc3Rlciwgbm90IGEgZmV3IGxpbmVzIG9mIGNvZGUKPiA+IGxvYWRlZCBmb3Igbm90aGlu ZyA6LSkKPiAKPiA/Pz8gVGhhdCdzIG5vdCB3aGF0IEkgc2FpZCBhYm92ZS4gIElmIHRoZSBkYjg0 NWMgZG9lc24ndCBuZWVkIENNQSBpdAo+IHdvbid0IGhhdmUgYSBDTUEgcmVnaW9uLgo+IAo+IFRo ZSBpc3N1ZSBhdCBoYW5kIGlzIHRoYXQgd2UgbWF5IHdhbnQgdG8gYXZvaWQgbG9hZGluZyB0aGUg ZG1hYnVmIENNQQo+IGhlYXAgZHJpdmVyIG9uIGEgYm9hcmQgdGhhdCBkb2Vzbid0IHVzZSBDTUEu Cj4gCj4gCj4gPiA+IFdpdGggQW5kcm9pZCdzIEdLSSBlZmZvcnQsIHRoZXJlIG5lZWRzIHRvIGJl IG9uZSBrZXJuZWwgdGhhdCB3b3JrcyBvbgo+ID4gPiBhbGwgdGhlIGRldmljZXMsIGFuZCB0aGV5 IGFyZSB1c2luZyBtb2R1bGVzIHRvIHRyeSB0byBtaW5pbWl6ZSB0aGUKPiA+ID4gYW1vdW50IG9m IG1lbW9yeSBzcGVudCBvbiBmdW5jdGlvbmFsaXR5IHRoYXQgaXNuJ3QgdW5pdmVyc2FsbHkgbmVl ZGVkLgo+ID4gPiBTbyBvbiBkZXZpY2VzIHRoYXQgZG9uJ3QgbmVlZCB0aGUgQ01BIGhlYXAsIHRo ZXknZCBwcm9iYWJseSBwcmVmZXIgbm90Cj4gPiA+IHRvIGxvYWQgdGhlIENNQSBkbWFidWYgaGVh cCBkcml2ZXIsIHNvIGl0IHdvdWxkIGJlIGJlc3QgaWYgaXQgY291bGQgYmUKPiA+ID4gYnVpbHQg YXMgYSBtb2R1bGUuICBJZiB3ZSB3YW50IHRvIGJ1aWxkIHRoZSBDTUEgaGVhcCBhcyBhIG1vZHVs ZSwgdGhlCj4gPiA+IHN5bWJvbHMgaXQgdXNlcyBuZWVkIHRvIGJlIGV4cG9ydGVkLgo+ID4KPiA+ IFllYWgsIEkgZ3Vlc3MgSSdtIGRpc2FncmVlaW5nIG9uIHdoZXRoZXIgZG1hLWJ1ZiBoZWFwcyBh cmUgY29yZSBvciBub3QuCj4gCj4gVGhhdCdzIGZpbmUgdG8gZGlzcHV0ZS4gSSdtIG5vdCByZWFs bHkgaW4gYSBwbGFjZSB0byBhc3NlcnQgb25lIHdheSBvcgo+IG5vdCwgYnV0IHRoZSBBbmRyb2lk IGZvbGtzIGhhdmUgbWFkZSB0aGVpciBJT04gc3lzdGVtIGFuZCBDTUEgaGVhcHMKPiBsb2FkYWJs ZSB2aWEgYSBtb2R1bGUsIHNvIGl0IHdvdWxkIHNlZW0gbGlrZSBoYXZpbmcgdGhlIGRtYWJ1ZiBz eXN0ZW0KPiBhbmQgQ01BIGhlYXBzIGJlIG1vZHVsYXIgd291bGQgYmUgdXNlZnVsIHRvIHByb3Bl cmx5IHJlcGxhY2UgdGhhdAo+IHVzYWdlLgo+IAo+IEZvciBpbnN0YW5jZSwgdGhlIHN5c3RlbSBo ZWFwIGFzIGEgbW9kdWxlIHByb2JhYmx5IGRvZXNuJ3QgbWFrZSBtdWNoCj4gc2Vuc2UsIGFzIG1v c3QgYm9hcmRzIHRoYXQgd2FudCB0byB1c2UgdGhlIGRtYWJ1ZiBoZWFwcyBpbnRlcmZhY2UgYXJl Cj4gbGlrZWx5IHRvIHVzZSB0aGF0IGFzIHdlbGwuICBDTUEgaXMgbW9yZSBvcHRpb25hbCBhcyBu b3QgYWxsIGJvYXJkcwo+IHdpbGwgdXNlIHRoYXQgb25lLCBzbyBpdCBtaWdodCBtYWtlIHNlbnNl IHRvIGF2b2lkIGxvYWRpbmcgaXQuCj4gCj4gU2FuZGVlcDogQ2FuIHlvdSBjaGltZSBpbiBoZXJl IGFzIHRvIGhvdyBjcml0aWNhbCBoYXZpbmcgdGhlIHN5c3RlbQo+IGFuZCBjbWEgaGVhcHMgYmUg bW9kdWxlcyBhcmU/CgpXaXRoIGlvbiwgd2UgYXJlIG1ha2luZyBzdXJlIHRoZXJlIGFyZSAqc3Rh bmRhcmQqIGhlYXBzIHRoYXQgQW5kcm9pZCBzaG91bGQKYmUgYWJsZSB0byByZWx5IG9uIHRvIGV4 aXN0IGluIGFsbCBrZXJuZWxzIFsxXS4gVGhhdCBsaXN0IGlzIGJhc2VkIG9uIHdoYXQKZGVmYXVs dCBoZWFwcyBpb24gaGFkIG91dC1vZi10cmVlLgoKQXMgb2YgdG9kYXksIGV2ZW4gZnJvbSB0aG9z ZSB0aGF0IGlvbiBoYWQsIEFuZHJvaWQgdmVuZG9yIGluZGVwZW5kZW50IGNvZGUgb25seQpyZWxp ZXMgb24gJ3N5c3RlbSBoZWFwJyBhbmQgJ2NtYS9kbWEgaGVhcHMnIHNvLCBjYW4gc2FmZWx5IGln bm9yZSB0aGUgY2FydmVvdXQKYW5kIG90aGVyIGlvbiBoZWFwcy4KCnN5c3RlbSBoZWFwIGlzIHJl YWxseSB0aGUgb25lIHRoYXQgaXMgcmVhbGlzdGljYWxseSAnaGFyZHdhcmUgaW5kZXBlbmRlbnQn LApzbyB0aGF0IGNhbiBiZSBpbiBrZXJuZWwuIFRoZSBjbWEgaGVhcHMgYW5kIHRoZWlyIGV4aXN0 ZW5jZSBpcyBvcHRpb25hbCwgc28KaXQgd2lsbCBiZSBuaWNlIHRvIGJlIGFibGUgdG8gbG9hZCB0 aGVtIGFzIG1vZHVsZXMuCgoKPHNuaXA+CgotIHNzcAoKMS4gaHR0cHM6Ly9hbmRyb2lkLmdvb2ds ZXNvdXJjZS5jb20vcGxhdGZvcm0vc3lzdGVtL2NvcmUvKy9yZWZzL2hlYWRzL21hc3Rlci9saWJp b24va2VybmVsLWhlYWRlcnMvbGludXgvaW9uXzQuMTkuaCMyOApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=