From: Jakub Kicinski <kuba@kernel.org>
To: Alexander Lobakin <aleksander.lobakin@intel.com>
Cc: Jiri Pirko <jiri@resnulli.us>,
John Fastabend <john.fastabend@gmail.com>,
Alexander Duyck <alexander.duyck@gmail.com>,
Paolo Abeni <pabeni@redhat.com>, <netdev@vger.kernel.org>,
<bhelgaas@google.com>, <linux-pci@vger.kernel.org>,
Alexander Duyck <alexanderduyck@fb.com>, <davem@davemloft.net>
Subject: Re: [net-next PATCH 00/15] eth: fbnic: Add network driver for Meta Platforms Host Network Interface
Date: Tue, 9 Apr 2024 07:08:58 -0700 [thread overview]
Message-ID: <20240409070858.41560b1c@kernel.org> (raw)
In-Reply-To: <9dd78c52-868e-4955-aba2-36bbaf3e0d88@intel.com>
On Tue, 9 Apr 2024 15:11:21 +0200 Alexander Lobakin wrote:
> BTW idpf is also not something you can go and buy in a store, but it's
> here in the kernel. Anyway, see below.
For some definition of "a store" :)
> > Could you please describe in details and examples what exactly is we
> > are about to loose? I don't see it.
>
> As long as driver A introduces new features / improvements / API /
> whatever to the core kernel, we benefit from this no matter whether I'm
> actually able to run this driver on my system.
>
> Some drivers even give us benefit by that they are of good quality (I
> don't speak for this driver, just some hypothetical) and/or have
> interesting design / code / API / etc. choices. The drivers I work on
> did gain a lot just from that I was reading new commits / lore threads
> and look at changes in other drivers.
Another point along these lines is worth bringing up. Companies which
build their own kernels probably have little reason to distribute
drivers out of tree. Vendors unfortunately are forced by some of their
customers and/or sales department to provide out of tree drivers. Which
in turn distinctiveness them from implementing shared core
infrastructure. The queue API is a good example of that. Number of
vendors implement pre-allocate and swap for reconfiguration but it's
not controlled by the core. So after 5+ years (look at netconf 2019
slides) of violently agreeing that we need queue alloc we made little
progress :( I don't think that it's a coincidence that it's Mina
(Google) and David (Meta) who picked up this work. And it's really hard
to implement that in an "off the shelf device", where queues are fully
controlled by FW (no documentation available), and without breaking
something (no access to vendor's CI/tests). IOW while modifying core
for a single private driver is a concern there's also a ton of work
we all agree needs to be done in the core, that we need help with.
next prev parent reply other threads:[~2024-04-09 14:09 UTC|newest]
Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-03 20:08 [net-next PATCH 00/15] eth: fbnic: Add network driver for Meta Platforms Host Network Interface Alexander Duyck
2024-04-03 20:08 ` [net-next PATCH 01/15] PCI: Add Meta Platforms vendor ID Alexander Duyck
2024-04-03 20:20 ` Bjorn Helgaas
2024-04-03 20:08 ` [net-next PATCH 02/15] eth: fbnic: add scaffolding for Meta's NIC driver Alexander Duyck
2024-04-03 20:33 ` Andrew Lunn
2024-04-03 20:47 ` Alexander Duyck
2024-04-03 21:17 ` Andrew Lunn
2024-04-03 21:51 ` Alexander Duyck
2024-04-03 22:20 ` Andrew Lunn
2024-04-03 23:27 ` Alexander Duyck
2024-04-03 20:08 ` [net-next PATCH 03/15] eth: fbnic: Allocate core device specific structures and devlink interface Alexander Duyck
2024-04-03 20:35 ` Bjorn Helgaas
2024-04-03 20:08 ` [net-next PATCH 04/15] eth: fbnic: Add register init to set PCIe/Ethernet device config Alexander Duyck
2024-04-03 20:46 ` Andrew Lunn
2024-04-10 20:31 ` Jacob Keller
2024-04-03 20:08 ` [net-next PATCH 05/15] eth: fbnic: add message parsing for FW messages Alexander Duyck
2024-04-03 21:07 ` Jeff Johnson
2024-04-03 20:08 ` [net-next PATCH 06/15] eth: fbnic: add FW communication mechanism Alexander Duyck
2024-04-03 20:08 ` [net-next PATCH 07/15] eth: fbnic: allocate a netdevice and napi vectors with queues Alexander Duyck
2024-04-03 20:58 ` Andrew Lunn
2024-04-03 22:15 ` Alexander Duyck
2024-04-03 22:26 ` Andrew Lunn
2024-04-03 20:08 ` [net-next PATCH 08/15] eth: fbnic: implement Tx queue alloc/start/stop/free Alexander Duyck
2024-04-03 20:09 ` [net-next PATCH 09/15] eth: fbnic: implement Rx " Alexander Duyck
2024-04-04 11:42 ` kernel test robot
2024-04-03 20:09 ` [net-next PATCH 10/15] eth: fbnic: Add initial messaging to notify FW of our presence Alexander Duyck
2024-04-03 20:09 ` [net-next PATCH 11/15] eth: fbnic: Enable Ethernet link setup Alexander Duyck
2024-04-03 21:11 ` Andrew Lunn
2024-04-05 21:51 ` Andrew Lunn
2024-04-21 23:21 ` Alexander Duyck
2024-04-22 15:52 ` Andrew Lunn
2024-04-22 18:59 ` Alexander H Duyck
2024-04-03 20:09 ` [net-next PATCH 12/15] eth: fbnic: add basic Tx handling Alexander Duyck
2024-04-03 20:09 ` [net-next PATCH 13/15] eth: fbnic: add basic Rx handling Alexander Duyck
2024-04-09 11:47 ` Yunsheng Lin
2024-04-09 15:08 ` Alexander Duyck
2024-04-10 11:54 ` Yunsheng Lin
2024-04-10 15:03 ` Alexander Duyck
2024-04-12 8:43 ` Yunsheng Lin
2024-04-12 9:47 ` Yunsheng Lin
2024-04-12 15:05 ` Alexander Duyck
2024-04-15 13:19 ` Yunsheng Lin
2024-04-15 15:03 ` Alexander Duyck
2024-04-15 17:11 ` Jakub Kicinski
2024-04-15 18:03 ` Alexander Duyck
2024-04-15 18:19 ` Jakub Kicinski
2024-04-15 18:55 ` Alexander Duyck
2024-04-15 22:01 ` Jakub Kicinski
2024-04-15 23:57 ` Alexander Duyck
2024-04-16 0:24 ` Jakub Kicinski
2024-04-16 13:25 ` Yunsheng Lin
2024-04-16 14:35 ` Alexander Duyck
2024-04-16 14:05 ` Alexander Lobakin
2024-04-16 14:46 ` Alexander Duyck
2024-04-16 18:26 ` Andrew Lunn
2024-04-17 8:14 ` Leon Romanovsky
2024-04-17 16:09 ` Alexander Duyck
2024-04-17 10:39 ` Alexander Lobakin
2024-04-03 20:09 ` [net-next PATCH 14/15] eth: fbnic: add L2 address programming Alexander Duyck
2024-04-03 20:09 ` [net-next PATCH 15/15] eth: fbnic: write the TCAM tables used for RSS control and Rx to host Alexander Duyck
2024-04-03 20:42 ` [net-next PATCH 00/15] eth: fbnic: Add network driver for Meta Platforms Host Network Interface Bjorn Helgaas
2024-04-04 11:37 ` Jiri Pirko
2024-04-04 14:45 ` Alexander Duyck
2024-04-04 15:24 ` Andrew Lunn
2024-04-04 15:37 ` Jakub Kicinski
2024-04-05 3:08 ` David Ahern
2024-04-04 15:36 ` Jiri Pirko
2024-04-04 18:35 ` Andrew Lunn
2024-04-04 19:05 ` Leon Romanovsky
2024-04-04 19:22 ` Alexander Duyck
2024-04-04 20:25 ` Jakub Kicinski
2024-04-04 21:59 ` John Fastabend
2024-04-04 23:50 ` Jakub Kicinski
2024-04-05 0:11 ` Alexander Duyck
2024-04-05 2:38 ` Jakub Kicinski
2024-04-05 15:41 ` Alexander Duyck
2024-04-08 6:18 ` Leon Romanovsky
2024-04-08 15:26 ` Alexander Duyck
2024-04-08 18:41 ` Leon Romanovsky
2024-04-08 20:43 ` Alexander Duyck
2024-04-08 21:49 ` Florian Fainelli
2024-04-08 21:52 ` Florian Fainelli
2024-04-09 8:18 ` Leon Romanovsky
2024-04-09 14:43 ` Alexander Duyck
2024-04-09 15:39 ` Jason Gunthorpe
2024-04-09 16:31 ` Alexander Duyck
2024-04-09 17:12 ` Jason Gunthorpe
2024-04-09 18:38 ` Alexander Duyck
2024-04-09 18:54 ` Jason Gunthorpe
2024-04-09 20:03 ` Alexander Duyck
2024-04-09 23:11 ` Jason Gunthorpe
2024-04-10 9:37 ` Jiri Pirko
2024-04-09 19:15 ` Leon Romanovsky
2024-04-05 7:11 ` Paolo Abeni
2024-04-05 12:26 ` Jason Gunthorpe
2024-04-05 13:06 ` Daniel Borkmann
2024-04-05 14:24 ` Alexander Duyck
2024-04-05 15:17 ` Jason Gunthorpe
2024-04-05 18:38 ` Alexander Duyck
2024-04-05 19:02 ` Jason Gunthorpe
2024-04-06 16:05 ` Alexander Duyck
2024-04-06 16:49 ` Andrew Lunn
2024-04-06 17:16 ` Alexander Duyck
2024-04-08 15:04 ` Jakub Kicinski
2024-04-08 19:50 ` Mina Almasry
2024-04-08 11:50 ` Jiri Pirko
2024-04-08 15:46 ` Alexander Duyck
2024-04-08 16:51 ` Jiri Pirko
2024-04-08 17:32 ` John Fastabend
2024-04-09 11:01 ` Jiri Pirko
2024-04-09 13:11 ` Alexander Lobakin
2024-04-09 13:18 ` Jason Gunthorpe
2024-04-09 14:08 ` Jakub Kicinski [this message]
2024-04-09 14:27 ` Jakub Kicinski
2024-04-09 14:41 ` Jiri Pirko
2024-04-10 11:45 ` Alexander Lobakin
2024-04-10 12:12 ` Jiri Pirko
2024-04-08 21:36 ` Florian Fainelli
2024-04-09 10:56 ` Jiri Pirko
2024-04-09 13:05 ` Florian Fainelli
2024-04-09 14:28 ` Jiri Pirko
2024-04-09 17:42 ` Florian Fainelli
2024-04-09 18:38 ` Leon Romanovsky
2024-04-08 18:16 ` Jason Gunthorpe
2024-04-09 16:53 ` Edward Cree
2024-04-08 11:37 ` Jiri Pirko
2024-04-04 23:50 ` Alexander Duyck
2024-04-08 11:05 ` Jiri Pirko
2024-04-08 10:54 ` Jiri Pirko
2024-04-05 14:01 ` Przemek Kitszel
2024-04-06 16:53 ` Alexander Duyck
2024-04-09 20:51 ` Jakub Kicinski
2024-04-09 21:06 ` Willem de Bruijn
2024-04-10 7:26 ` Jiri Pirko
2024-04-10 21:30 ` Jacob Keller
2024-04-10 22:19 ` Andrew Lunn
2024-04-11 0:31 ` Jacob Keller
2024-04-09 23:42 ` Andrew Lunn
2024-04-10 15:56 ` Alexander Duyck
2024-04-10 20:01 ` Andrew Lunn
2024-04-10 21:07 ` Alexander Duyck
2024-04-10 22:37 ` Andrew Lunn
2024-04-11 16:00 ` Alexander Duyck
2024-04-11 17:32 ` Andrew Lunn
2024-04-11 23:12 ` Alexander Duyck
2024-04-11 6:39 ` Jiri Pirko
2024-04-11 16:46 ` Alexander Duyck
2024-04-10 7:42 ` Jiri Pirko
2024-04-10 12:50 ` Przemek Kitszel
2024-04-10 13:46 ` Jakub Kicinski
2024-04-10 15:12 ` Jiri Pirko
2024-04-10 17:35 ` Jakub Kicinski
2024-04-10 17:39 ` Florian Fainelli
2024-04-10 17:56 ` Jakub Kicinski
2024-04-10 18:00 ` Florian Fainelli
2024-04-10 20:03 ` Jakub Kicinski
2024-04-10 18:01 ` Alexander Duyck
2024-04-10 18:29 ` Florian Fainelli
2024-04-10 19:58 ` Jakub Kicinski
2024-04-10 22:03 ` Jacob Keller
2024-04-11 6:31 ` Jiri Pirko
2024-04-11 16:22 ` Jacob Keller
2024-04-11 6:34 ` Jiri Pirko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240409070858.41560b1c@kernel.org \
--to=kuba@kernel.org \
--cc=aleksander.lobakin@intel.com \
--cc=alexander.duyck@gmail.com \
--cc=alexanderduyck@fb.com \
--cc=bhelgaas@google.com \
--cc=davem@davemloft.net \
--cc=jiri@resnulli.us \
--cc=john.fastabend@gmail.com \
--cc=linux-pci@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).