Re: [PATCH net-next 05/12] xdp: add generic xdp_build_skb_from_buff()
From: Alexander Lobakin
Date: Fri Dec 13 2024 - 12:26:22 EST
From: Jakub Kicinski <kuba@xxxxxxxxxx>
Date: Thu, 12 Dec 2024 18:11:29 -0800
> On Wed, 11 Dec 2024 18:26:42 +0100 Alexander Lobakin wrote:
>> + if (rxq->mem.type == MEM_TYPE_PAGE_POOL && is_page_pool_compiled_in())
>> + skb_mark_for_recycle(skb);
>
> I feel like the check for mem.type is unnecessary. I can't think of
> a driver that would build a skb out of pp pages, and not own pp
But there's no restriction that this function is limited to PP pages.
> refs on those pages. Setting pp_recycle on non-pp skb should be safe,
> even if slightly wasteful.
>
> Also:
>
> static inline void skb_mark_for_recycle(struct sk_buff *skb)
> {
> #ifdef CONFIG_PAGE_POOL
> skb->pp_recycle = 1;
> #endif
> }
>
> You don't have to check if PP is complied in explicitly.
Ah I see ._. My idea was to compile-out this check/branch at all when
the PP is not compiled in, but I think that it would be optimized out
anyway by the compiler, so correct.
Thanks,
Olek