On Wed, 26 Jul 2023 08:39:43 -0700 Alexander Duyck wrote:
quoted
quoted
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/20230721182942.0ca57663@kernel.org/ (local)
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.
quoted
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..