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