Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp579169pxk; Thu, 17 Sep 2020 10:25:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxF/u5QECkeFjWZbreOKKNN9d4YTfQVxRHV47LSKhf7UMSByJsjd0/blL2XpGb+5WfTqn9R X-Received: by 2002:a50:ce09:: with SMTP id y9mr33323046edi.91.1600363515403; Thu, 17 Sep 2020 10:25:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600363515; cv=none; d=google.com; s=arc-20160816; b=fwozFczZeogeibWIiFHcfYY0fakyFaYJ53cW5Ci2PmNHHoR900SbkMpXnQNlkaH1Mi 39J3TDuC98a7N9J4p6Uj7O2vPXueLfAMXVqRVFdMNlO5p/yKaCdWJ3X/7PxFGUStVFUK JAWDT7uSJzM1dmMzJv/+FxLBA37NaXRpMJAxo/EDII98yv5eUmLNB68HIT7A/iFeybTz dQcH/D0P64F2EOP3P7wG61iHqBa7Xg45ZmkwmdsySNtJkB6EAJ3Hq7HOiuM3yHVlePkm X0yk2ZYFutSwwTRRuyE2bOjAVqYE8JwK3GqGl1gGM41QChgB6Anulvh3H/HEvgOX/trz wnjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=F86p0ud99YSiTMCN0ZfJJse9lFQfi+WRyzF06l3LfwA=; b=ryQ5VZdVfpCagXFCcGg9JuYjkTX8xcwOUlqU3BlpnJqAZnqZ4joNdrEKDgnlHVF0G/ kIpMTMkLgtjZ0F2f5bAZunbQv1GynsP4lSj/XDrt8zL+gDCWHwoaDLSQtppgsyuhOPRi VlaA/WKhvlRTUjEGw3XAknQdZ1K2yF+WMZ+FRLJkX2fpLInH3UPDRSl83TUGFjgofIJx +Dlk/j9SNdyoNIQedvQHzQrkCSswHWaHr8IywKapPjbEgdaDOzViEDVG7OxG6Qu20osU if3RLohdjJEvDp6h3wR1PgO1DZsOXSPa5YdLbhULo9Je53h0WyHV4wD4bmIKXOI9QPJ+ pYiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=Oe+9XFyi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id fx12si364201ejb.515.2020.09.17.10.24.50; Thu, 17 Sep 2020 10:25:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=Oe+9XFyi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726400AbgIQRXg (ORCPT + 99 others); Thu, 17 Sep 2020 13:23:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726390AbgIQRXX (ORCPT ); Thu, 17 Sep 2020 13:23:23 -0400 Received: from mail-oi1-x242.google.com (mail-oi1-x242.google.com [IPv6:2607:f8b0:4864:20::242]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C94B0C061756 for ; Thu, 17 Sep 2020 10:23:14 -0700 (PDT) Received: by mail-oi1-x242.google.com with SMTP id z26so3309697oih.12 for ; Thu, 17 Sep 2020 10:23:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=F86p0ud99YSiTMCN0ZfJJse9lFQfi+WRyzF06l3LfwA=; b=Oe+9XFyi4XwSdp0c08MIQlmhrPw1Z8ltKB2S7V3IMBblrL34HKoK0b4blCy3ZHSJxj 7IaJJ0RwaRrjJztcw/95TWgK1iToMprnqvda3Cw5Rs+2ciTDAeh8nMCt44s2ulVhn6KN 6sAVjFYZRVuJFjONKZdpeD53O77tF58gs1uyI= 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:content-transfer-encoding; bh=F86p0ud99YSiTMCN0ZfJJse9lFQfi+WRyzF06l3LfwA=; b=iYvHEOo+NPuNfKMDZGAcPIAGtQPBEx9qMVG7jju+i3ZAYZEmi+aKZiot3hpKSqnY85 61+v2EJLAJ3kcXPA5e1VFSuEruUmtouPRb/ksJrY3GQpjGweVQJlwhbrRU7GIw5p++ql PmDMSRJ8KsivnnFyKPqH4DPv/hgvvr35l8YPYPS7sR8nNw0vbjHhp7DGdJ9XZmRT0D6n BxkzEwSavr5bvCh1tjfIH9Y8QoWYcq6Utq3W8XUbVUZsdkDEIXYLGXiIrzKzZrGhhF7u LWwowbv2QXKKEym0pdaVRjGS06rbKaDFu9cxy1Bo7hh4V/9KHbmvnAt+oTQILF96lnPk DheQ== X-Gm-Message-State: AOAM532a0Qw0u8K5N07B8FK3inHbRu9Uuai+J3LadnjJxVRGR14GLtj7 kpubuoP5QDk/ZvuKmyQ0PcPp4+SXQj3NzFd5Z0oKwQ== X-Received: by 2002:aca:6083:: with SMTP id u125mr7050119oib.14.1600363394219; Thu, 17 Sep 2020 10:23:14 -0700 (PDT) MIME-Version: 1.0 References: <20200917113110.GE8409@ziepe.ca> <6fd74b84-959c-8b3b-c27b-e9fbf66396c7@gmail.com> <20200917121858.GF8409@ziepe.ca> <20200917143551.GG8409@ziepe.ca> <5b330920-c789-fac7-e9b1-49f3bc1097a8@gmail.com> <20200917152456.GH8409@ziepe.ca> <20200917163907.GI8409@ziepe.ca> In-Reply-To: <20200917163907.GI8409@ziepe.ca> From: Daniel Vetter Date: Thu, 17 Sep 2020 19:23:03 +0200 Message-ID: Subject: Re: [Linaro-mm-sig] Changing vma->vm_file in dma_buf_mmap() To: Jason Gunthorpe Cc: =?UTF-8?Q?Christian_K=C3=B6nig?= , Linux Kernel Mailing List , dri-devel , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Linux MM , Andrew Morton , "open list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 17, 2020 at 6:39 PM Jason Gunthorpe wrote: > > On Thu, Sep 17, 2020 at 06:06:14PM +0200, Christian K=C3=B6nig wrote: > > > > If it is already taking a page fault I'm not sure the extra functio= n > > > > call indirection is going to be a big deal. Having a uniform VMA > > > > sounds saner than every driver custom rolling something. > > > > > > > > When I unwound a similar mess in RDMA all the custom VMA stuff in t= he > > > > drivers turned out to be generally buggy, at least. > > > > > > > > Is vma->vm_file->private_data universally a dma_buf pointer at leas= t? > > > Nope. I think if you want this without some large scale rewrite of a > > > lot of code we'd need a vmops->get_dmabuf or similar. Not pretty, but > > > would get the job done. > > > > Yeah, agree that sounds like the simplest approach. > > I don't think that will fly, it is clearly only papering over a mess > inside DRM/dma buf :\ dma-buf started out as something to paper over the disjoint mess of allocators, since it was pretty clear to anyone involved we're not going to unify them anytime soon, if ever. So the mess pretty much is bound to stay. I think most reasonable thing would be to throw a common vmops in there somehow, but even that means some large scale surgery across every driver/subsystem involved in dma-buf. It wouldn't unify anything, all it would give you is a constant vma->vm_ops to do some kind of upcasting. And that would still only give you a slightly less opaque pointer with a callback to upcast to a dma-buf in some driver/subsystem specific way. -Daniel --=20 Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch