From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [RFC simple allocator v2 1/2] Create Simple Allocator module Date: Tue, 14 Feb 2017 21:59:55 +0200 Message-ID: <2684010.GP2h2R50oJ@avalon> References: <1486997106-23277-1-git-send-email-benjamin.gaignard@linaro.org> <1967325.JRFDDRuil3@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5C2E06E7F2 for ; Tue, 14 Feb 2017 19:59:27 +0000 (UTC) In-Reply-To: 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: Linaro Kernel Mailman List , Arnd Bergmann , Linux Kernel Mailing List , dri-devel , Hans Verkuil , Mark Brown , Andrew Morton , "linux-media@vger.kernel.org" List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKT24gVHVlc2RheSAxNCBGZWIgMjAxNyAyMDo0NDo0NCBEYW5pZWwgVmV0dGVy IHdyb3RlOgo+IE9uIFR1ZSwgRmViIDE0LCAyMDE3IGF0IDg6MzkgUE0sIExhdXJlbnQgUGluY2hh cnQgd3JvdGU6Cj4gPiBPbiBUdWVzZGF5IDE0IEZlYiAyMDE3IDIwOjMzOjU4IERhbmllbCBWZXR0 ZXIgd3JvdGU6Cj4gPj4gT24gTW9uLCBGZWIgMTMsIDIwMTcgYXQgMzo0NSBQTSwgQmVuamFtaW4g R2FpZ25hcmQgd3JvdGU6Cj4gPj4+IFRoaXMgaXMgdGhlIGNvcmUgb2Ygc2ltcGxlIGFsbG9jYXRv ciBtb2R1bGUuCj4gPj4+IEl0IGFpbSB0byBvZmZlcnQgb25lIGNvbW1vbiBpb2N0bCB0byBhbGxv Y2F0ZSBzcGVjaWZpYyBtZW1vcnkuCj4gPj4+IAo+ID4+PiB2ZXJzaW9uIDI6Cj4gPj4+IC0gcmVi YXNlZCBvbiA0LjEwLXJjNwo+ID4+PiAKPiA+Pj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2Fp Z25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+Cj4gPj4gCj4gPj4gV2h5IG5vdCBJ T04/IEl0J3MgYSBiaXQgYSBicm9rZW4gcmVjb3JkIHF1ZXN0aW9uLCBidXQgaWYgdGhlcmUgaXMg YQo+ID4+IGNsZWFyIGFuc3dlciBpdCBzaG91bGQgYmUgaW4gdGhlIHBhdGNoJmRvY3MgLi4uCj4g PiAKPiA+IFRoZXJlJ3MgYSBiaXQgb2YgbG92ZSAmIGhhdGUgcmVsYXRpb25zaGlwIGJldHdlZW4g TGludXggZGV2ZWxvcGVycyBhbmQKPiA+IElPTi4gVGhlIEFQSSBoYXMgc2hvcnRjb21pbmdzLCBh bmQgYXR0ZW1wdHMgdG8gZml4IHRoZSBpc3N1ZXMgd2VudAo+ID4gbm93aGVyZS4gQXMgTGF1cmEg ZXhwbGFpbmVkLCBzdGFydGluZyBmcm9tIGEgYmxhbmsgc2xhdGUgKG9idmlvdXNseQo+ID4ga2Vl cGluZyBpbiBtaW5kIHRoZSBsZXNzb25zIGxlYXJudCBzbyBmYXIgd2l0aCBJT04gYW5kIG90aGVy IHNpbWlsYXIgQVBJcykKPiA+IGFuZCB0aGVuIGFkZGluZyBhIHdyYXBwZXIgdG8gZXhwb3NlIElP TiBvbiBBbmRyb2lkIHN5c3RlbXMgKGF0IGxlYXN0IGFzIGFuCj4gPiBpbnRlcmltIG1lYXN1cmUp IHdhcyB0aG91Z2h0IHRvIGJlIGEgYmV0dGVyIG9wdGlvbi4gSSBzdGlsbCBiZWxpZXZlIGl0IGlz LAo+ID4gYnV0IHdlIHNlZW0gdG8gbGFjayB0cmFjdGlvbi4gVGhlIHByb2JsZW0gaGFzIGJlZW4g YXJvdW5kIGZvciBzbyBsb25nIHRoYXQKPiA+IEkgZmVlbCBldmVyeWJvZHkgaGFzIGxvc3QgaG9w ZS4KPiA+IAo+ID4gSSBkb24ndCB0aGluayB0aGlzIGlzIHVuc29sdmFibGUsIGJ1dCB3ZSBuZWVk IHRvIHJlZ2FpbiBtb3RpdmF0aW9uLiBJbiBteQo+ID4gb3BpbmlvbiB0aGUgZmlyc3Qgc3RlcCB3 b3VsZCBiZSB0byBkZWZpbmUgdGhlIHByZWNpc2UgZXh0ZW50IG9mIHRoZQo+ID4gcHJvYmxlbSB3 ZSB3YW50IHRvIHNvbHZlLgo+IAo+IEknbSBub3Qgc3VyZSBhbnlvbmUgcmVhbGx5IHRyaWVkIGhh cmQgZW5vdWdoIChpbiB0aGUgc2FtZSB3YXkgbm8gb25lCj4gdHJpZWQgaGFyZCBlbm91Z2ggdG8g ZGVzdGFnZSBhbmRyb2lkIHN5bmNwdHMsIHVudGlsIGxhc3QgeWVhcikuIEFuZAo+IGFueXRoaW5n IG5ldyBzaG91bGQgYXQgbGVhc3QgdmVyeSBjbGVhcmx5IGV4cGxhaW4gd2h5IElPTiAoZXZlbiB3 aXRoCj4gdGhlIHZhcmlvdXMgdG9kbyBpdGVtcyB3ZSBjb2xsZWN0ZWQgYXQgYSBmZXcgY29uZmVy ZW5jZXMpIHdvbid0IHdvcmssCj4gYW5kIGhvdyBleGFjdGx5IHRoZSBuZXcgYWxsb2NhdG9yIGlz IGRpZmZlcmVudCBmcm9tIElPTi4gSSBkb24ndCB0aGluawo+IHdlIG5lZWQgYSBmdWxsIGRlc2ln biBkb2MgKGxpa2UgeW91IHNheSwgYnVmZmVyIGFsbG9jYXRpb24gaXMgaGFyZCwKPiB3ZSdsbCBn ZXQgaXQgd3JvbmcgYW55d2F5KSwgYnV0IGF0IGxlYXN0IGEgcHJvcGVyIGNvbXBhcmlzb24gd2l0 aCB0aGUKPiBleGlzdGluZyB0aGluZy4gUGx1cyBleHBsYW5hdGlvbiB3aHkgd2UgY2FuJ3QgcmV1 c2UgdGhlIHVhYmkuCgpJJ3ZlIGV4cGxhaW5lZCBzZXZlcmFsIG9mIG15IGNvbmNlcm5zIChpbmNs dWRpbmcgb3BlbiBxdWVzdGlvbnMgdGhhdCBuZWVkIAphbnN3ZXJzKSBpbiBhbm90aGVyIHJlcGx5 IHRvIHRoaXMgcGF0Y2gsIGxldCdzIGRpc2N1c3MgdGhlbSB0aGVyZSB0byBhdm9pZCAKc3BsaXR0 aW5nIHRoZSBkaXNjdXNzaW9uLgoKPiBCZWNhdXNlIGltZSB3aGVuIHlvdSByZXdyaXRlIHNvbWV0 aGluZywgeW91IGdlbmVyYWxseSBnZXQgb25lIHRoaW5nCj4gcmlnaHQgKHRoZSBvbmUgdGhpbmcg dGhhdCBwaXNzZWQgeW91IG9mZiBhYm91dCB0aGUgb2xkIHNvbHV0aW9uKSwgcGx1cwo+IGxvdHMg YW5kIGxvdHMgb2YgdGhpbmdzIHRoYXQgdGhlIG9sZCBzb2x1dGlvbiBnb3QgcmlnaHQsIHdyb25n Cj4gKGJlY2F1c2UgaXQncyBhbGwgbG9zdCBpbiB0aGUgaGlzdG9yeSkuCgpIaXN0b3J5LCByZXBl YXRpbmcgbWlzdGFrZXMsIGFsbCB0aGF0LiBIaXN0b3J5IG5ldmVyIHJlcGVhdHMgaXRzZWxmIHRo b3VnaC4gV2UgCm1pZ2h0IG1ha2Ugc2ltaWxhciBvciBpZGVudGljYWwgbWlzdGFrZXMsIGJ1dCB0 aGVyZSdzIG5vIGZhdGFsaXR5LCB1bmxlc3Mgd2UgCmRlY2lkZSBub3QgdG8gdHJ5IGJlZm9yZSBl dmVuIHN0YXJ0aW5nIDotKQoKPiBBREYgd2FzIHByb2JhYmx5IHRoZSBiZXN0IGV4YW1wbGUgaW4g dGhpcy4gS01TIGFsc28gdG9vayBhIHdoaWxlIHVudGlsIGFsbAo+IHRoZSBmYmRldiB3aGVlbHMg aGF2ZSBiZWVuIHByb3Blcmx5IHJlaW52ZW50ZWQgKHNvbWUgYXJlIHN0aWxsIHRoZSBzYW1lIG9s ZAo+IHNxdWVha3kgb25jZXMgYXMgZmJkZXYgaGFkLCBlLmcuIGZiY29uKS4KPiAKPiBBbmQgSSBk b24ndCB0aGluayBkZXN0YWdpbmcgSU9OIGlzIGdvaW5nIHRvIGJlIGhhcmQsIGp1c3QgYSBiaXQg b2YKPiB3b3JrIChjb3VsZCBiZSBhIG5pY2UgZ3NvYyBvciB3aGF0ZXZlcikuCgpPaCwgdGVjaG5p Y2FsbHkgc3BlYWtpbmcsIGl0IHdvdWxkIGJlIHByZXR0eSBzaW1wbGUuIFRoZSBtYWluIGlzc3Vl IGlzIHRvIApkZWNpZGUgd2hldGhlciB3ZSB3YW50IHRvIGNvbW1pdCB0byB0aGUgZXhpc3Rpbmcg SU9OIEFQSS4gSSBkb24ndCA6LSkKCi0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from galahad.ideasonboard.com ([185.26.127.97]:58386 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752583AbdBNT7i (ORCPT ); Tue, 14 Feb 2017 14:59:38 -0500 From: Laurent Pinchart To: Daniel Vetter Cc: Benjamin Gaignard , Linaro Kernel Mailman List , Arnd Bergmann , Laura Abbott , dri-devel , Linux Kernel Mailing List , "linux-media@vger.kernel.org" , "Clark, Rob" , Andrew Morton , Hans Verkuil , Mark Brown Subject: Re: [RFC simple allocator v2 1/2] Create Simple Allocator module Date: Tue, 14 Feb 2017 21:59:55 +0200 Message-ID: <2684010.GP2h2R50oJ@avalon> In-Reply-To: References: <1486997106-23277-1-git-send-email-benjamin.gaignard@linaro.org> <1967325.JRFDDRuil3@avalon> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-media-owner@vger.kernel.org List-ID: Hi Daniel, On Tuesday 14 Feb 2017 20:44:44 Daniel Vetter wrote: > On Tue, Feb 14, 2017 at 8:39 PM, Laurent Pinchart wrote: > > On Tuesday 14 Feb 2017 20:33:58 Daniel Vetter wrote: > >> On Mon, Feb 13, 2017 at 3:45 PM, Benjamin Gaignard wrote: > >>> This is the core of simple allocator module. > >>> It aim to offert one common ioctl to allocate specific memory. > >>> > >>> version 2: > >>> - rebased on 4.10-rc7 > >>> > >>> Signed-off-by: Benjamin Gaignard > >> > >> Why not ION? It's a bit a broken record question, but if there is a > >> clear answer it should be in the patch&docs ... > > > > There's a bit of love & hate relationship between Linux developers and > > ION. The API has shortcomings, and attempts to fix the issues went > > nowhere. As Laura explained, starting from a blank slate (obviously > > keeping in mind the lessons learnt so far with ION and other similar APIs) > > and then adding a wrapper to expose ION on Android systems (at least as an > > interim measure) was thought to be a better option. I still believe it is, > > but we seem to lack traction. The problem has been around for so long that > > I feel everybody has lost hope. > > > > I don't think this is unsolvable, but we need to regain motivation. In my > > opinion the first step would be to define the precise extent of the > > problem we want to solve. > > I'm not sure anyone really tried hard enough (in the same way no one > tried hard enough to destage android syncpts, until last year). And > anything new should at least very clearly explain why ION (even with > the various todo items we collected at a few conferences) won't work, > and how exactly the new allocator is different from ION. I don't think > we need a full design doc (like you say, buffer allocation is hard, > we'll get it wrong anyway), but at least a proper comparison with the > existing thing. Plus explanation why we can't reuse the uabi. I've explained several of my concerns (including open questions that need answers) in another reply to this patch, let's discuss them there to avoid splitting the discussion. > Because ime when you rewrite something, you generally get one thing > right (the one thing that pissed you off about the old solution), plus > lots and lots of things that the old solution got right, wrong > (because it's all lost in the history). History, repeating mistakes, all that. History never repeats itself though. We might make similar or identical mistakes, but there's no fatality, unless we decide not to try before even starting :-) > ADF was probably the best example in this. KMS also took a while until all > the fbdev wheels have been properly reinvented (some are still the same old > squeaky onces as fbdev had, e.g. fbcon). > > And I don't think destaging ION is going to be hard, just a bit of > work (could be a nice gsoc or whatever). Oh, technically speaking, it would be pretty simple. The main issue is to decide whether we want to commit to the existing ION API. I don't :-) -- Regards, Laurent Pinchart