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

From: Jakub Kicinski <[email-masked]>
Date: Wed, 26 Jul 2023 08:50:49 -0700

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-masked]/  
> >
> > 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.

> > So for example you could pull out functions like
> > page_pool_return_skb_page, page_pool_use_xdp_mem,
> > page_pool_update_nid, and the like and look at relocating them into
> > the net/core/ folder and thereby prevent abuse of those functions by
> > drivers.  
> 
> Okay, maybe not page_pool_update_nid. It looks like that is already in
> use in the form of page_pool_nid_changed by drivers..