2023-07-26 16:47:11

by Alexander Duyck

[permalink] [raw]
Subject: Re: [PATCH net-next v2] page_pool: split types and declarations from page_pool.h

On Wed, Jul 26, 2023 at 8:50 AM Jakub Kicinski <[email protected]> wrote:
>
> On Wed, 26 Jul 2023 08:39:43 -0700 Alexander Duyck wrote:
> > > > I suppose the above suggestion is about splitting or naming by
> > > > the user as the discussed in the below thread?
> > > > https://lore.kernel.org/all/[email protected]/
> > >
> > > Actually my suggestion is more about defining boundaries for what is
> > > meant to be used by drivers and what isn't. The stuff you could keep
> > > in net/core/page_pool.h would only be usable by the files in net/core/
> > > whereas the stuff you are keeping in the include/net/ folder is usable
> > > by drivers. It is meant to prevent things like what you were
> > > complaining about with the Mellanox drivers making use of interfaces
> > > you didn't intend them to use.
>
> FWIW moving stuff which is only supposed to be used by core (xdp, skb,
> etc.) to net/core/page_pool.h is a good idea, too.
> Seems a bit independent from splitting the main header, tho.

It seems a bit independent, but I was reacting only because I feel
like this ijust adding to the technical debt on this. Basically before
we can really just go ahead and split it the header file itself should
probably be cleaned up a bit.

The reason why it occurred to me is that I noticed things like
page_pool_use_xdp_mem and the forward declaration for xdp_mem_info was
being picked up and moved into the types.h file in the move. The whole
block was in a #if/#else statement w/ definitions for the PAGE_POOL
and non-PAGE_POOL cases.

We also have functions that don't really need to be included such as
page_pool_unlink_napi which is exported but not used outside of
page_pool.c from what I can tell.