Re: [PATCH net-next v2 06/12] net: skbuff: don't include <net/page_pool.h> into <linux/skbuff.h>

From: Alexander Lobakin
Date: Tue May 30 2023 - 09:14:37 EST


From: Jakub Kicinski <kuba@xxxxxxxxxx>
Date: Fri, 26 May 2023 20:54:10 -0700

> On Thu, 25 May 2023 14:57:40 +0200 Alexander Lobakin wrote:
>> Currently, touching <net/page_pool.h> triggers a rebuild of more than
>> a half of the kernel. That's because it's included in <linux/skbuff.h>.
>>
>> In 6a5bcd84e886 ("page_pool: Allow drivers to hint on SKB recycling"),
>> Matteo included it to be able to call a couple functions defined there.
>> Then, in 57f05bc2ab24 ("page_pool: keep pp info as long as page pool
>> owns the page") one of the calls was removed, so only one left.
>> It's call to page_pool_return_skb_page() in napi_frag_unref(). The
>> function is external and doesn't have any dependencies. Having include
>> of very niche page_pool.h only for that looks like an overkill.
>> Instead, move the declaration of that function to skbuff.h itself, with
>> a small comment that it's a special guest and should not be touched.
>> Now, after a few include fixes in the drivers, touching page_pool.h
>> only triggers rebuilding of the drivers using it and a couple core
>> networking files.
>
> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
>
> came in the meantime, and did not bother including page_pool.h.

Hah, I saw it coming, but thought they did include it :D
Will fix in a bit, thanks for noticing!

Olek