[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <904992ba-650c-8810-b0e1-6c8acf5aab77@intel.com>
Date: Wed, 15 Feb 2023 19:08:23 +0100
From: Alexander Lobakin <aleksander.lobakin@...el.com>
To: Jakub Kicinski <kuba@...nel.org>
CC: Paolo Abeni <pabeni@...hat.com>, <davem@...emloft.net>,
<netdev@...r.kernel.org>, <edumazet@...gle.com>,
<willemb@...gle.com>, <fw@...len.de>
Subject: Re: [PATCH net-next 2/3] net: skbuff: cache one skb_ext for use by
GRO
From: Jakub Kicinski <kuba@...nel.org>
Date: Wed, 15 Feb 2023 09:45:42 -0800
> On Wed, 15 Feb 2023 09:41:13 +0100 Paolo Abeni wrote:
>> I'm wondering if napi_reuse_skb() should be touched, too? Even it's not
>> directly used by the following patch...
>
> I didn't touch it because I (sadly) don't have access to any driver
> using GRO frags to test :( But I certainly can.
>
> What about __kfree_skb_defer() and napi_consume_skb() (basically
> the other two napi_skb_cache_put() callers) ?
>
Sounds good. Basically any caller of napi_skb_cache_put() can be
switched to recycle extensions.
But you certainly need to have a pool instead of just one pointer then,
since napi_consume_skb() will return a lot if exts are actively used :)
Having just one pointer will only make freeing extensions 1 step longer
(`caller -> skb cache -> kmem_cache_free()` 63 times per 1 Tx completion
poll for example to save you 1 pointer to be used on Rx later).
Thanks,
Olek
Powered by blists - more mailing lists