On Thu, Jan 16, 2025 at 09:36:30PM +0100, Morten Brørup wrote:
> > From: Bruce Richardson [mailto:bruce.richard...@intel.com]
> > Sent: Thursday, 16 January 2025 18.46
> > 
> > On Thu, Jan 16, 2025 at 11:10:47PM +0530, Jerin Jacob wrote:
> > > On Thu, Jan 16, 2025 at 10:50 PM Bruce Richardson
> > > <bruce.richard...@intel.com> wrote:
> > > >
> > > > On Fri, Dec 20, 2024 at 02:38:57PM +0000, Bruce Richardson wrote:
> > > > > This RFC attempts to reduce the amount of code duplication across
> > a
> > > > > number of Intel NIC drivers, specifically: ixgbe, i40e, iavf, and
> > ice.
> > > > >
> > > > > The first patch extract a function from the Rx side, otherwise
> > the
> > > > > majority of the changes are on the Tx side, leading to a
> > converged Tx
> > > > > queue structure across the 4 drivers, and a large number of
> > common
> > > > > functions.
> > > > >
> > > >
> > > > When considering the changes in this patchset, I'm still not
> > entirely
> > > > satisfied with where to place the common code in the repo. Using
> > the
> > > > "drivers/common" seems wrong to me, as it's for code common across
> > devices,
> > > > and having a "_common_intel" (or common_intel) folder inside
> > drivers/net
> > >
> > > driver/common/intel is OK. I think.
> > >
> > > > seems a bit ugly to me.
> > > >
> > > > What would people think of me taking a leaf out of the kernel
> > directory
> > > > structure playbook, and moving the intel drivers into a separate
> > > > subdirectory "drivers/net/intel"? I've done up a prototype RFC
> > patch for
> > >
> > > I thought the reason for not keeping the company name was to - not
> > > change the directory structure
> > > if NIC block is bought by another company (driver/net/bnxk was with
> > > Boradcom then moved to Marvell) or acquired by another company.
> > > (Cavium->Marvell)
> > >
> > >
> > I hadn't thought of that.
> > 
> > However, in our case I believe the reason we don't use this scheme is
> > that
> > we a) never needed to and AFAIK b) it has never been proposed.
> > 
> > In practice, if we do this for the intel drivers, it does not need to
> > be
> > done by other vendors unless they want to do so, or have a lot of
> > drivers
> > in DPDK. Also, renaming vendor directories is not going to be a serious
> > problem, so long as the underlying device directory name remains the
> > same.
> > For compatibility of output, my RFC patch strips off all paths but the
> > last, so intel/i40e remains just "i40e" in terms of all generated
> > objects.
> > 
> > /Bruce
> 
> If we proceed with drivers/net/intel/i40e, will new patches be titled 
> "net/intel/i40e: new feature", or still just "net/i40e: ..."?
> 
> The key is getting rid of code duplication, so either directory structure is 
> fine with me, drivers/net/intel/common, or drivers/common/intel.
> 
> Considering Jerin's input about NICs getting new owner companies, I have a 
> slight preference for Jerin's suggestion.
> 

For the second suggestion, drivers/common/intel wouldn't work as a name on
it's own since it's too generic, and doesn't specify that this is common
net driver code. So the resulting name would be "drivers/common/intel_net"
or "intel_eth". My preference is definitely against using drivers/common,
but I am ok to continue to use the "_common_intel" folder name in "net" as
in the v4 patchset, or (my slight preference) to have
"drivers/net/intel/common" folder with the other drivers moved to that
"drivers/net/intel" folder too.

/Bruce

Reply via email to