[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4ed82814-af9c-7e26-6039-304182240982@intel.com>
Date: Mon, 27 Nov 2023 11:23:25 +0100
From: Przemek Kitszel <przemyslaw.kitszel@...el.com>
To: Jiri Pirko <jiri@...nulli.us>,
Alexander Lobakin <aleksander.lobakin@...el.com>
CC: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Maciej Fijalkowski <maciej.fijalkowski@...el.com>,
Michal Kubiak <michal.kubiak@...el.com>,
Larysa Zaremba <larysa.zaremba@...el.com>,
Alexander Duyck <alexanderduyck@...com>,
Yunsheng Lin <linyunsheng@...wei.com>,
David Christensen <drc@...ux.vnet.ibm.com>,
Jesper Dangaard Brouer <hawk@...nel.org>,
"Ilias Apalodimas" <ilias.apalodimas@...aro.org>,
Paul Menzel <pmenzel@...gen.mpg.de>, <netdev@...r.kernel.org>,
<intel-wired-lan@...ts.osuosl.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net-next v5 00/14] net: intel: start The Great Code Dedup
+ Page Pool for iavf
On 11/27/23 10:04, Jiri Pirko wrote:
> Fri, Nov 24, 2023 at 04:47:18PM CET, aleksander.lobakin@...el.com wrote:
>> Here's a two-shot: introduce Intel Ethernet common library (libie) and
>> switch iavf to Page Pool. Details are in the commit messages; here's
>> a summary:
>>
>> Not a secret there's a ton of code duplication between two and more Intel
>> ethernet modules. Before introducing new changes, which would need to be
>> copied over again, start decoupling the already existing duplicate
>> functionality into a new module, which will be shared between several
>> Intel Ethernet drivers. The first name that came to my mind was
>> "libie" -- "Intel Ethernet common library". Also this sounds like
>> "lovelie" (-> one word, no "lib I E" pls) and can be expanded as
>> "lib Internet Explorer" :P
>> The series is only the beginning. From now on, adding every new feature
>> or doing any good driver refactoring will remove much more lines than add
>> for quite some time. There's a basic roadmap with some deduplications
>> planned already, not speaking of that touching every line now asks:
>> "can I share this?". The final destination is very ambitious: have only
>> one unified driver for at least i40e, ice, iavf, and idpf with a struct
>> ops for each generation. That's never gonna happen, right? But you still
>> can at least try.
>> PP conversion for iavf lands within the same series as these two are tied
>> closely. libie will support Page Pool model only, so that a driver can't
>> use much of the lib until it's converted. iavf is only the example, the
>> rest will eventually be converted soon on a per-driver basis. That is
>> when it gets really interesting. Stay tech.
>
> The world would not be the same without intel driver duplicates :/
:D
>
> Out of curiosity, what changed? I always thought this is
> done for sake of easier out of tree driver development and old device
> support dropping.
>
Some of Intel folks, with Olek as one of leading examples, really care
about our upstream drivers.
Recently (on HW-company timescale) Intel recognizes high costs of
current duplicated-SW model, and I believe we will follow more modern-SW
model where you apply such novel methodologies as code reuse via lib.
(Disclaimer: it's not an official statement).
OTOH our OOT drivers would benefit from libie too, but that was not a
driving force.
Powered by blists - more mailing lists