Subject: Re: [net-next, RFC, 4/8] net: core: add recycle capabilities on skbs via page_pool API

From: Eric Dumazet <[email-masked]>
Date: Sat, 8 Dec 2018 04:29:17 -0800

On 12/08/2018 01:57 AM, Florian Westphal wrote:
> Jesper Dangaard Brouer <[email-masked]> wrote:
>> From: Ilias Apalodimas <[email-masked]>
>>
>> This patch is changing struct sk_buff, and is thus per-definition
>> controversial.
>>
>> Place a new member 'mem_info' of type struct xdp_mem_info, just after
>> members (flags) head_frag and pfmemalloc, And not in between
>> headers_start/end to ensure skb_copy() and pskb_copy() work as-is.
>> Copying mem_info during skb_clone() is required.  This makes sure that
>> pages are correctly freed or recycled during the altered
>> skb_free_head() invocation.
> 
> I read this to mean that this 'info' isn't accessed/needed until skb
> is freed.  Any reason its not added at the end?
> 
> This would avoid moving other fields that are probably accessed
> more frequently during processing.
> 

But I do not get why the patch is needed.

Adding extra cost for each skb destruction is costly.

I though XDP was all about _not_ having skbs.

Please let's do not slow down the non XDP stack only to make XDP more appealing.