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=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED 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 83FBDCA9EB5 for ; Mon, 4 Nov 2019 18:57:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 58F9A2084D for ; Mon, 4 Nov 2019 18:57:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="fFfD5MFP" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729452AbfKDS55 (ORCPT ); Mon, 4 Nov 2019 13:57:57 -0500 Received: from mail-ot1-f68.google.com ([209.85.210.68]:43140 "EHLO mail-ot1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728332AbfKDS54 (ORCPT ); Mon, 4 Nov 2019 13:57:56 -0500 Received: by mail-ot1-f68.google.com with SMTP id l14so1018753oti.10 for ; Mon, 04 Nov 2019 10:57:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=z3NXmbQZe9ZnT7fbe+EIvkpInJMLKjVbW03x8y81A38=; b=fFfD5MFPiJ1kIysRVmZVrDEnc3iHR5WePrk035gRLGZj4EECNcsralgOCLF45h65vB zenyoBMjR85Vqj/x36CUNK59ZtiTlUDkITY/CzP1ZxrbI2sdcj5VZxH1Ya8f7y2/oRMU 04v6lxIY4znf+l+FSL39uRNT+VCYMGLoV4IJWITuemgu0AOvHpJ00pkatCucMRC4FUzE BNujdNj2j/A6MvTohDixsW5gE1mGAsAqbwSkfhATzBtYiaSmed2IpcJMFzTXOb9qzd8w CO73Iet24BAdstCgmFamT2zFZemCUpQlyCiE1E2zt4+1yTYhn8JvFB20wFSLRl7NL0Jf U8vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=z3NXmbQZe9ZnT7fbe+EIvkpInJMLKjVbW03x8y81A38=; b=NG3bg13hP7nPidUwyi08rY8b5+4RcEa6EN7VQusYEqzhYIb0F4EcHr8eXRko5lFvZO j/nRUmaTQfIx4HZe08VusN13ZlTVBz8mlZUv6H20EXOpWmE/6C0YWIGWjd4U+jfOBtL5 nX7K05uw9p85GHnniulIUmuhVrP83toQwfwcPytVGYwjwxWTdfEwOAjYOz7IYvTVGwxY ukMONCzbxdldu6wYaG24VuyNlP/eAoTeue41Eaq2VEdI4b99Ln4jHAKWenFhLwganoFk arBkRUVhV+HPwQwkYnmJomOe6IAY7uFVuBYBy39rMLDGGTJUvBEmnEXRNR58m9FFkf5f uYcg== X-Gm-Message-State: APjAAAV5mUsvi4u+vzdJhPhdMfAL8L4gkjwK3TLcS+UtbqvbsPUNC/mV CP+cCIK+wlSvo/tu6Dor2boatRa0Oim39qvVaRoelQ== X-Google-Smtp-Source: APXvYqwd8cmeVMOTe+JQ+j2QX+t3I35Dixid5qlgqiNrKFgTlCT0qjVcLrqc+RT374J9gbd5lphfL5RyiFI2gFJjRPk= X-Received: by 2002:a9d:630c:: with SMTP id q12mr19353256otk.332.1572893875375; Mon, 04 Nov 2019 10:57:55 -0800 (PST) MIME-Version: 1.0 References: <20191025234834.28214-1-john.stultz@linaro.org> <20191104095823.GD10326@phenom.ffwll.local> In-Reply-To: <20191104095823.GD10326@phenom.ffwll.local> From: John Stultz Date: Mon, 4 Nov 2019 10:57:44 -0800 Message-ID: Subject: Re: [RFC][PATCH 0/2] Allow DMA BUF heaps to be loaded as modules To: Daniel Vetter Cc: lkml , Sandeep Patil , Mike Rapoport , Chenbo Feng , Alistair Strachan , Liam Mark , Yue Hu , dri-devel , "Andrew F . Davis" , Hridya Valsaraju , Andrew Morton , Pratik Patel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: > > Now that the DMA BUF heaps core code has been queued, I wanted > > to send out some of the pending changes that I've been working > > on. > > > > For use with Android and their GKI effort, it is desired that > > DMA BUF heaps are able to be loaded as modules. This is required > > for migrating vendors off of ION which was also recently changed > > to support modules. > > > > So this patch series simply provides the necessary exported > > symbols and allows the system and CMA drivers to be built > > as modules. > > > > Due to the fact that dmabuf's allocated from a heap may > > be in use for quite some time, there isn't a way to safely > > unload the driver once it has been loaded. Thus these > > drivers do no implement module_exit() functions and will > > show up in lsmod as "[permanent]" > > > > Feedback and thoughts on this would be greatly appreciated! > > Do we actually want this? I guess that always depends on the definition of "we" :) > I figured if we just state that vendors should set up all the right > dma-buf heaps in dt, is that not enough? 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. 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. 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. > Exporting symbols for no real in-tree users feels fishy. I'm submitting an in-tree user here. So I'm not sure what you mean? I suspect you're thinking there is some hidden/nefarious plan here, but really there isn't. thanks -john From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Stultz Subject: Re: [RFC][PATCH 0/2] Allow DMA BUF heaps to be loaded as modules Date: Mon, 4 Nov 2019 10:57:44 -0800 Message-ID: References: <20191025234834.28214-1-john.stultz@linaro.org> <20191104095823.GD10326@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ot1-x344.google.com (mail-ot1-x344.google.com [IPv6:2607:f8b0:4864:20::344]) by gabe.freedesktop.org (Postfix) with ESMTPS id BBF156E820 for ; Mon, 4 Nov 2019 18:57:56 +0000 (UTC) Received: by mail-ot1-x344.google.com with SMTP id u13so15381112ote.0 for ; Mon, 04 Nov 2019 10:57:56 -0800 (PST) In-Reply-To: <20191104095823.GD10326@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Sandeep Patil , Chenbo Feng , Alistair Strachan , Liam Mark , lkml , Yue Hu , dri-devel , "Andrew F . Davis" , Hridya Valsaraju , Andrew Morton , Mike Rapoport , Pratik Patel List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBOb3YgNCwgMjAxOSBhdCAxOjU4IEFNIERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZnds bC5jaD4gd3JvdGU6Cj4gT24gRnJpLCBPY3QgMjUsIDIwMTkgYXQgMTE6NDg6MzJQTSArMDAwMCwg Sm9obiBTdHVsdHogd3JvdGU6Cj4gPiBOb3cgdGhhdCB0aGUgRE1BIEJVRiBoZWFwcyBjb3JlIGNv ZGUgaGFzIGJlZW4gcXVldWVkLCBJIHdhbnRlZAo+ID4gdG8gc2VuZCBvdXQgc29tZSBvZiB0aGUg cGVuZGluZyBjaGFuZ2VzIHRoYXQgSSd2ZSBiZWVuIHdvcmtpbmcKPiA+IG9uLgo+ID4KPiA+IEZv ciB1c2Ugd2l0aCBBbmRyb2lkIGFuZCB0aGVpciBHS0kgZWZmb3J0LCBpdCBpcyBkZXNpcmVkIHRo YXQKPiA+IERNQSBCVUYgaGVhcHMgYXJlIGFibGUgdG8gYmUgbG9hZGVkIGFzIG1vZHVsZXMuIFRo aXMgaXMgcmVxdWlyZWQKPiA+IGZvciBtaWdyYXRpbmcgdmVuZG9ycyBvZmYgb2YgSU9OIHdoaWNo IHdhcyBhbHNvIHJlY2VudGx5IGNoYW5nZWQKPiA+IHRvIHN1cHBvcnQgbW9kdWxlcy4KPiA+Cj4g PiBTbyB0aGlzIHBhdGNoIHNlcmllcyBzaW1wbHkgcHJvdmlkZXMgdGhlIG5lY2Vzc2FyeSBleHBv cnRlZAo+ID4gc3ltYm9scyBhbmQgYWxsb3dzIHRoZSBzeXN0ZW0gYW5kIENNQSBkcml2ZXJzIHRv IGJlIGJ1aWx0Cj4gPiBhcyBtb2R1bGVzLgo+ID4KPiA+IER1ZSB0byB0aGUgZmFjdCB0aGF0IGRt YWJ1ZidzIGFsbG9jYXRlZCBmcm9tIGEgaGVhcCBtYXkKPiA+IGJlIGluIHVzZSBmb3IgcXVpdGUg c29tZSB0aW1lLCB0aGVyZSBpc24ndCBhIHdheSB0byBzYWZlbHkKPiA+IHVubG9hZCB0aGUgZHJp dmVyIG9uY2UgaXQgaGFzIGJlZW4gbG9hZGVkLiBUaHVzIHRoZXNlCj4gPiBkcml2ZXJzIGRvIG5v IGltcGxlbWVudCBtb2R1bGVfZXhpdCgpIGZ1bmN0aW9ucyBhbmQgd2lsbAo+ID4gc2hvdyB1cCBp biBsc21vZCBhcyAiW3Blcm1hbmVudF0iCj4gPgo+ID4gRmVlZGJhY2sgYW5kIHRob3VnaHRzIG9u IHRoaXMgd291bGQgYmUgZ3JlYXRseSBhcHByZWNpYXRlZCEKPgo+IERvIHdlIGFjdHVhbGx5IHdh bnQgdGhpcz8KCkkgZ3Vlc3MgdGhhdCBhbHdheXMgZGVwZW5kcyBvbiB0aGUgZGVmaW5pdGlvbiBv ZiAid2UiIDopCgo+IEkgZmlndXJlZCBpZiB3ZSBqdXN0IHN0YXRlIHRoYXQgdmVuZG9ycyBzaG91 bGQgc2V0IHVwIGFsbCB0aGUgcmlnaHQKPiBkbWEtYnVmIGhlYXBzIGluIGR0LCBpcyB0aGF0IG5v dCBlbm91Z2g/CgpTbyBldmVuIGlmIHRoZSBoZWFwcyBhcmUgY29uZmlndXJlZCB2aWEgRFQgKHdo aWNoIGF0IHRoZSBtb21lbnQgdGhlcmUKaXMgbm8gc3VjaCBiaW5kaW5nLCBzbyB0aGF0J3Mgbm90 IHJlYWxseSBhIHZhbGlkIG1ldGhvZCB5ZXQpLCB0aGVyZSdzCnN0aWxsIHRoZSBxdWVzdGlvbiBv ZiBpZiB0aGUgaGVhcCBpcyBuZWNlc3NhcnkvbWFrZXMgc2Vuc2Ugb24gdGhlCmRldmljZS4gQW5k IHRoZSBEVCB3b3VsZCBvbmx5IGNvbnRyb2wgdGhlIGF2YWlsYWJpbGl0eSBvZiB0aGUgaGVhcApp bnRlcmZhY2UsIG5vdCBpZiB0aGUgaGVhcCBkcml2ZXIgaXMgbG9hZGVkIG9yIG5vdC4KCk9uIHRo ZSBIaUtleS9IaUtleTk2MCBib2FyZHMsIHdlIGhhdmUgdG8gYWxsb2NhdGUgY29udGlndW91cyBi dWZmZXJzCmZvciB0aGUgZGlzcGxheSBmcmFtZWJ1ZmZlci4gU28gZ3JhbGxvYyB1c2VzIElPTiB0 byBhbGxvY2F0ZSBmcm9tIHRoZQpDTUEgaGVhcC4gSG93ZXZlciBvbiB0aGUgZGI4NDVjLCBpdCBo YXMgbm8gc3VjaCByZXN0cmljdGlvbnMsIHNvIHRoZQpDTUEgaGVhcCBpc24ndCBuZWNlc3Nhcnku CgpXaXRoIEFuZHJvaWQncyBHS0kgZWZmb3J0LCB0aGVyZSBuZWVkcyB0byBiZSBvbmUga2VybmVs IHRoYXQgd29ya3Mgb24KYWxsIHRoZSBkZXZpY2VzLCBhbmQgdGhleSBhcmUgdXNpbmcgbW9kdWxl cyB0byB0cnkgdG8gbWluaW1pemUgdGhlCmFtb3VudCBvZiBtZW1vcnkgc3BlbnQgb24gZnVuY3Rp b25hbGl0eSB0aGF0IGlzbid0IHVuaXZlcnNhbGx5IG5lZWRlZC4KU28gb24gZGV2aWNlcyB0aGF0 IGRvbid0IG5lZWQgdGhlIENNQSBoZWFwLCB0aGV5J2QgcHJvYmFibHkgcHJlZmVyIG5vdAp0byBs b2FkIHRoZSBDTUEgZG1hYnVmIGhlYXAgZHJpdmVyLCBzbyBpdCB3b3VsZCBiZSBiZXN0IGlmIGl0 IGNvdWxkIGJlCmJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgd2Ugd2FudCB0byBidWlsZCB0aGUgQ01B IGhlYXAgYXMgYSBtb2R1bGUsIHRoZQpzeW1ib2xzIGl0IHVzZXMgbmVlZCB0byBiZSBleHBvcnRl ZC4KCj4gRXhwb3J0aW5nIHN5bWJvbHMgZm9yIG5vIHJlYWwgaW4tdHJlZSB1c2VycyBmZWVscyBm aXNoeS4KCkknbSBzdWJtaXR0aW5nIGFuIGluLXRyZWUgdXNlciBoZXJlLiBTbyBJJ20gbm90IHN1 cmUgd2hhdCB5b3UgbWVhbj8gIEkKc3VzcGVjdCB5b3UncmUgdGhpbmtpbmcgdGhlcmUgaXMgc29t ZSBoaWRkZW4vbmVmYXJpb3VzIHBsYW4gaGVyZSwgYnV0CnJlYWxseSB0aGVyZSBpc24ndC4KCnRo YW5rcwotam9obgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=