Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4870221pxv; Tue, 6 Jul 2021 11:05:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyyTfxaFmBYtoK6ZKLP9ueVjQCvl6UHvz6k/IaH1h4u1X7+sAfo+F4lHgjuS4WLnKXLdeVn X-Received: by 2002:a05:6638:1505:: with SMTP id b5mr8657290jat.105.1625594720463; Tue, 06 Jul 2021 11:05:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625594720; cv=none; d=google.com; s=arc-20160816; b=jsg7vkmTQa4o5l567cwjSe3lOyf6FKN1442dIyERQNqf8UdDQsOneR0n1QzPUO7pPS QyX95yyOYYpByA23YXHR5GZqqBkbttapU3QPuXirRJnRf2B0d1GwiJlettuIBkXzQIzY m/Mvxom+e0w2vHN5zsIOcNQLisxeaEPr8Zi584EeMcWWLZVlT+4T2iAur2fNt/rhacm2 QxkPbI4BL1vhFsAieCMsLdiT4i0BgoSYSXkwCzLuL1fU0mplasiJNwQBEIfwmifWAS9p /roNk3ePGh8rZvj4scHH9Xj76G9Sp1hCOt9CyrlUQRir4zATgh/D6Q24zWXQjP5E5fNj 1EKA== 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=dktWyNUxLR/AUElofB65u1HHbgT9UFWQxsLDt5+3GUI=; b=IRz9XaSoWW93sM96C4rL0e49+DsZ8wlsPbakFpd7V8Jux8QEwpMUyyWMUeUNV7SnCY /ud0wqjNjwYr5iOVdyVqDaPtn6xXHm5Bw3VUdN2NBDbTe2no6QLuuCQKlbu/FrDINtpg VcEvBn9oClZxr7XensZbtSeNIaSaGRypM8I8hnM/wS8SonjHaFfnUaa6UZ+gUYEQAQvi hW16eyfo7++62ow4DozT0HjqtJyLulkiucC1MP9PoQZQg6TOg4sDXlt6vH+QPGJVY9N2 +frWYpzLhnEbQU+ZqD7HobayREoW1ERAlkyijI7eAhk/7Pzg0kmZ3Ohkr8a8d0+itxpy gqKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=ZIIokBg2; 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 j23si16022360jar.113.2021.07.06.11.05.08; Tue, 06 Jul 2021 11:05:20 -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=ZIIokBg2; 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 S230409AbhGFSFz (ORCPT + 99 others); Tue, 6 Jul 2021 14:05:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51716 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229938AbhGFSFy (ORCPT ); Tue, 6 Jul 2021 14:05:54 -0400 Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com [IPv6:2607:f8b0:4864:20::229]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 899B0C061574 for ; Tue, 6 Jul 2021 11:03:15 -0700 (PDT) Received: by mail-oi1-x229.google.com with SMTP id l21so235662oig.3 for ; Tue, 06 Jul 2021 11:03:15 -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=dktWyNUxLR/AUElofB65u1HHbgT9UFWQxsLDt5+3GUI=; b=ZIIokBg2jBdWhCL7gcGwLmSOV/agdcYoB8F8XpjDEzGo/EAdbxyLxT2KnOuf5bltwl pm+fOZsYW3HUoIFT3TIvRq2nRbvDgFJ8xTd28wsNILl09Ma0QamzwXibQlK77/l+SPuM Yen/KPmVu+16q5wchrC9LcRS3jJH6JO4ussxE= 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=dktWyNUxLR/AUElofB65u1HHbgT9UFWQxsLDt5+3GUI=; b=JAKBkH0MD+4qba84s4vvpCWFuwQhuJF2LyRKAcJ25RBO4smaNzF4F5WzeKUyIPiSH/ v8yi+Fs7bMTwkAjHUjZC2kxl1IhwI9C0Yy21zJEzZOET1S/OvHDYbMQzeXiQ1jmqstOE yOZQ7gFCKXo+buFbv2YAJm3MmMoq67VWrMs+Vkr3OSpQm3f5jwbERDhitD8Mnfe818l1 l4WEIrXBGmNfa9fZjYnenRYV+PWyQYftYkU/ZIXDBj81rogTarcJ4vx1e4oKyEeql7wx odI3y+CnYuTT+kRhPIAKdxiA79u5dK4j0yxfXDYf8/mWKc647E35Jl+RnTNPSl1po9qU 6Enw== X-Gm-Message-State: AOAM531+zhBpAplqYcrlaTeBWyeFU4wzciyLWtx5xRR6eUx4i6putZuX GXGtTxmrXiLxVH2e8kPg/pU7FMQmcMn57jLQDzikeQ== X-Received: by 2002:aca:eb43:: with SMTP id j64mr1370482oih.101.1625594594921; Tue, 06 Jul 2021 11:03:14 -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> In-Reply-To: From: Daniel Vetter Date: Tue, 6 Jul 2021 20:03:03 +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 I should stop typing and prep dinner, but I found some too hilarious typos below. On Tue, Jul 6, 2021 at 7:35 PM Daniel Vetter wrote: > > On Tue, Jul 6, 2021 at 6:29 PM Jason Gunthorpe wrote: > > > > On Tue, Jul 06, 2021 at 05:49:01PM +0200, Daniel Vetter wrote: > > > > > The other thing to keep in mind is that one of these drivers supports > > > 25 years of product generations, and the other one doesn't. > > > > Sure, but that is the point, isn't it? To have an actually useful > > thing you need all of this mess > > > > > > My argument is that an in-tree open kernel driver is a big help to > > > > reverse engineering an open userspace. Having the vendors > > > > collaboration to build that monstrous thing can only help the end goal > > > > of an end to end open stack. > > > > > > Not sure where this got lost, but we're totally fine with vendors > > > using the upstream driver together with their closed stack. And most > > > of the drivers we do have in upstream are actually, at least in parts, > > > supported by the vendor. E.g. if you'd have looked the drm/arm driver > > > you picked is actually 100% written by ARM engineers. So kinda > > > unfitting example. > > > > So the argument with Habana really boils down to how much do they need > > to show in the open source space to get a kernel driver? You want to > > see the ISA or compiler at least? > > 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 s/demons/demos/ but hw tends to be funky enough that either fits :-) > 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. > > > That at least doesn't seem "extreme" to me. > > > > > > For instance a vendor with an in-tree driver has a strong incentive to > > > > sort out their FW licensing issues so it can be redistributed. > > > > > > Nvidia has been claiming to try and sort out the FW problem for years. > > > They even managed to release a few things, but I think the last one is > > > 2-3 years late now. Partially the reason is that there don't have a > > > stable api between the firmware and driver, it's all internal from the > > > same source tree, and they don't really want to change that. > > > > Right, companies have no incentive to work in a sane way if they have > > their own parallel world. I think drawing them part by part into the > > standard open workflows and expectations is actually helpful to > > everyone. > > Well we do try to get them on board part-by-part generally starting > with the kernel and ending with a proper compiler instead of the usual > llvm hack job, but for whatever reasons they really like their > in-house stuff, see below for what I mean. > > > > > > I don't think the facts on the ground support your claim here, aside > > > > > from the practical problem that nvidia is unwilling to even create an > > > > > open driver to begin with. So there isn't anything to merge. > > > > > > > > The internet tells me there is nvgpu, it doesn't seem to have helped. > > > > > > Not sure which one you mean, but every once in a while they open up a > > > few headers, or a few programming specs, or a small driver somewhere > > > for a very specific thing, and then it dies again or gets obfuscated > > > for the next platform, or just never updated. I've never seen anything > > > that comes remotely to something complete, aside from tegra socs, > > > which are fully supported in upstream afaik. > > > > I understand nvgpu is the tegra driver that people actualy > > use. nouveau may have good tegra support but is it used in any actual > > commercial product? > > I think it was almost the case. Afaik they still have their internal > userspace stack working on top of nvidia, at least last year someone > fixed up a bunch of issues in the tegra+nouveau combo to enable format > modifiers properly across the board. 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. > > 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 s/know/name/ I do know them unfortunately quite well ... Cheers, Daniel > the reverse-engineered mesa team on a kernel driver, seems to work > pretty well for current hardware. But for the next generation they > decided it's going to be again only their in-house tree that > completele ignores drivers/gpu/drm, and also tosses all the > foundational work they helped build on the userspace side. And this is > consistent across all companies, over the last 20 years I know of > (often non-public) stories across every single company where they > decided that all the time invested into community/upstream > collaboration isn't useful anymore, we go all vendor solo for the next > one. > > Most of those you luckily don't hear about anymore, all it results in > the upstream driver being 1-2 years late or so. But even the good ones > where we collaborate well can't seem to help themselves and want to > throw it all away every few years. > -Daniel > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch