Re: [PATCH net-next 07/12] xsk: add generic XSk &xdp_buff -> skb conversion
From: Alexander Lobakin
Date: Fri Dec 13 2024 - 12:34:08 EST
From: Jakub Kicinski <kuba@xxxxxxxxxx>
Date: Thu, 12 Dec 2024 18:19:44 -0800
> On Wed, 11 Dec 2024 18:26:44 +0100 Alexander Lobakin wrote:
>> +#else /* !CONFIG_PAGE_POOL */
>> + struct napi_struct *napi;
>> +
>> + pp = NULL;
>> + napi = napi_by_id(rxq->napi_id);
>> + if (likely(napi))
>> + skb = napi_alloc_skb(napi, len);
>> + else
>> + skb = __netdev_alloc_skb_ip_align(rxq->dev, len,
>> + GFP_ATOMIC | __GFP_NOWARN);
>> + if (unlikely(!skb))
>> + return NULL;
>> +#endif /* !CONFIG_PAGE_POOL */
>
> What are the chances of having a driver with AF_XDP support
> and without page pool support? I think it's zero :S
Right, as CONFIG_BPF_SYSCALL selects PAGE_POOL if NET.
I think I wrote this when it wasn't true (before Lorenzo introduced
generic page_pools) and then just forgot to change that ._.
> Can we kill all the if !CONFIG_PAGE_POOL sections and hide
> the entire helper under if CONFIG_PAGE_POLL ?
We can. But I think I'd need to introduce a return-NULL wrapper in case
of !PAGE_POOL to satisfy the linker, as lots of drivers build their XSk
code unconditionally.
Thanks,
Olek