Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4910840pxv; Tue, 6 Jul 2021 12:11:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxoNAkRHsx6+XKWmz3iPnG1Q8TZGRW2ZVkDTm5Cc6Co8OjbCy7MBPwnjjRgdUCrbyNC9Gd1 X-Received: by 2002:a05:6402:2936:: with SMTP id ee54mr14806235edb.240.1625598673884; Tue, 06 Jul 2021 12:11:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625598673; cv=none; d=google.com; s=arc-20160816; b=p/B/CHGN4PNTJ9hw4c6yMDerxDIKDZN732xrg2qeXimAmHtDkAvceK1kPxqG22x8ga X206ubECmewaMDHvXlQz21uTh1u26wBGvNZG8ofOP0/vUxKhY5QjakVhqeBx/z2P0krE fraJSbQNM63fjAobnzTud8Lnknx5v9cCvRKWhg+MX9XUu7ON4y/vN5/Sso4c7niGIV6p H1fAeU9Rp9b8ucKs+yg6qd3ytX/yrzOgMFubpJTNMSrtCM//Uf7zPaODBBYoALt9mdMa UTTFNXwQT+76dM9has8dxyfO+XPO353HJUfFn4tBucLJDgX/yw0N8rTSe76+7CZSTvJA l1IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=Cze9q/VE+a6yI42hd67oagAB5dC7U4ivnSzhtQwqaOI=; b=N1VVrwnVsNCLTuPsTMhA51MYCzdvXU/iKbzaR4RMmKzl7qOxc6D1FtG4spt+F2QSMR U3Qoo+Y7Sy4Y1+vPz56fxkGwCpFDDG+OikShaYIm2xB5Evjiufuo0baR9hlpKFW/KUdx MoFIDSNdqsuT4ULL21EvwNnfwxGOLY4WMMcqSGf1otJUu7ok56uMzbMrnuQIsEUqYDax lALlBMppUHx/OHGDjiPW5gyK0gjZrL8fu/KfTzcqSXXu8oqWKaYXPgciKcRWNvdXQkif +RYMytUm/G68LBerin3u6m8V/CmVXGu9LdaU5LWM1hPgRaegTXINsLh2fEGwT/qboRsv 1edw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=GPHRCG+a; 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 jg37si15214643ejc.738.2021.07.06.12.10.50; Tue, 06 Jul 2021 12:11:13 -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=GPHRCG+a; 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 S231774AbhGFTJ0 (ORCPT + 99 others); Tue, 6 Jul 2021 15:09:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231766AbhGFTJZ (ORCPT ); Tue, 6 Jul 2021 15:09:25 -0400 Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com [IPv6:2607:f8b0:4864:20::22b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B383C06175F for ; Tue, 6 Jul 2021 12:06:45 -0700 (PDT) Received: by mail-oi1-x22b.google.com with SMTP id s17so516799oij.0 for ; Tue, 06 Jul 2021 12:06:45 -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; bh=Cze9q/VE+a6yI42hd67oagAB5dC7U4ivnSzhtQwqaOI=; b=GPHRCG+aFrGscJLP0HYtzo9kfjEmTdwAcrvk9gEqOOYE+hLUV5ZCPdqyGPm8uAyTgp ihQtUO4cKxZnn63A3//koJf5ll5ptPP5S9JIwueh0JMCLVDmtojHXX/w7VjJlgmppj5n C6nun/eDPcyweXxnOUb4dT4rP5KZ+uny5SOwE= 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=Cze9q/VE+a6yI42hd67oagAB5dC7U4ivnSzhtQwqaOI=; b=dTlyFQ21STSCKjI6Akxm1j0mQsLY1rMopX0E6wyKVtvBzWHJ22quPxFrDCdyTPjtmS 7mWwzUZpP6lIGcpx07gxqQIBbxCjfmaFZtDT3Fm4ARzQ39xCsFqxJgHamEZlmYHPKj4L E2KwnW9riQUANJIlBfE1eBEWL66emCGmW7STOLbKq47cZyR/GD+KpohGX73tbq3a4bfI b0KFZmj+kgfDTnIQXoxBOWMzq6lhhUJoTnb1gRzPM8Ja7c6VTjzGHTewInOtjor/FZ1N rICG300nE0AcO1Bj4aAQh8Qc0uZvxVRXNvfwZS87aL68d2tam2r4uwyq9byBGIzDlLDS A9mw== X-Gm-Message-State: AOAM530yalIJtOEUoKtnZl20jtQlJ3u/p+CWLat2lb81rYuLq/HBkY0z oFIkbyQdOtc9pNzxbHkRqjUxtsZK2wRDQPjD9NOgzw== X-Received: by 2002:aca:eb43:: with SMTP id j64mr1571660oih.101.1625598404635; Tue, 06 Jul 2021 12:06:44 -0700 (PDT) MIME-Version: 1.0 References: <20210705130314.11519-1-ogabbay@kernel.org> <20210706142357.GN4604@ziepe.ca> <20210706152542.GP4604@ziepe.ca> <20210706162953.GQ4604@ziepe.ca> <20210706183145.GT4604@ziepe.ca> In-Reply-To: <20210706183145.GT4604@ziepe.ca> From: Daniel Vetter Date: Tue, 6 Jul 2021 21:06:33 +0200 Message-ID: Subject: Re: [PATCH v4 0/2] Add p2p via dmabuf to habanalabs To: Jason Gunthorpe Cc: Oded Gabbay , Oded Gabbay , "Linux-Kernel@Vger. Kernel. Org" , Greg Kroah-Hartman , Sumit Semwal , =?UTF-8?Q?Christian_K=C3=B6nig?= , Gal Pressman , sleybo@amazon.com, Maling list - DRI developers , linux-rdma , Linux Media Mailing List , Doug Ledford , Dave Airlie , Alex Deucher , Leon Romanovsky , Christoph Hellwig , amd-gfx list , "moderated list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 6, 2021 at 8:31 PM Jason Gunthorpe wrote: > On Tue, Jul 06, 2021 at 07:35:55PM +0200, Daniel Vetter wrote: > > Yup. We dont care about any of the fancy pieces you build on top, nor > > does the compiler need to be the optimizing one. Just something that's > > good enough to drive the hw in some demons to see how it works and all > > that. Generally that's also not that hard to reverse engineer, if > > someone is bored enough, the real fancy stuff tends to be in how you > > optimize the generated code. And make it fit into the higher levels > > properly. > > Seems reasonable to me > > > And it's not just nvidia, it's pretty much everyone. Like a soc > > company I don't want to know started collaborating with upstream and > > the reverse-engineered mesa team on a kernel driver, seems to work > > pretty well for current hardware. > > What I've seen is that this only works with customer demand. Companies > need to hear from their customers that upstream is what is needed, and > companies cannot properly hear that until they are at least already > partially invested in the upstream process and have the right > customers that are sophisticated enough to care. > > Embedded makes everything 10x worse because too many customers just > don't care about upstream, you can hack your way through everything, > and indulge in single generation thinking. Fork the whole kernel for 3 > years, EOL, no problem! It's not entirely hopeless in embedded either. Sure there's the giant pile of sell&forget abandonware, but there are lots of embedded things where multi-year to multi-decade support is required. And an upstream gfx stack beats anything the vendor has to offer on that, easily. And on the server side it's actually pretty hard to convince customers of the upstream driver benefits, because they don't want or can't abandon nvidia and have just learned to accept the pain. They either build a few abstraction layers on top (and demand the vendor support those), or they flat out demand you support the nvidia broprietary interfaces. And AMD has been trying to move the needle here for years, with not that much success. > It is the enterprise world, particularly with an opinionated company > like RH saying NO stuck in the middle that really seems to drive > things toward upstream. > > Yes, vendors can work around Red Hat's No (and NVIDIA GPU is such an > example) but it is incredibly time consuming, expensive and becoming > more and more difficult every year. > > The big point is this: > > > But also nvidia is never going to sell you that as the officially > > supported thing, unless your ask comes back with enormous amounts of > > sold hardware. > > I think this is at the core of Linux's success in the enterprise > world. Big customers who care demanding open source. Any vendor, even > nvidia will want to meet customer demands. > > IHMO upstream success is found by motivating the customer to demand > and make it "easy" for the vendor to supply it. Yup, exactly same situation here. The problem seems to be a bit that gpu vendor stubbornness is higher than established customer demand even, or they just don't care, and so in the last few years that customer demand has resulted in payment to consulting shops and hiring of engineers into reverse-engineering a full driver, instead of customer and vendor splitting the difference and the vendor upstreaming their stack. And that's for companies who've done it in the past, or at least collaborated on parts like the kernel driver, so I really have no clue why they don't just continue. We have well-established customers who do want it all open and upstream, across kernel and userspace pieces. And it looks like it's going to repeat itself a few more times unfortunately. I'm not sure when exactly the lesson will sink in. Maybe I missed some, but looking at current render/compute drivers I think (but not even sure on that) only drm/lima is a hobbyist project and perhaps you want to include drm/nouveau as not paid by customers and more something redhat does out of principle. All the others are paid for by customers, with vendor involvement ranging from "just helping out with the kernel driver" to "pays for pretty much all of the development". And still apparently that's not enough demand for an upstream driver stack. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch