[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CANn89iKqLtyz5H6D1e9Yxd30FTJvbASfNckMAq63UJ+gvauu-Q@mail.gmail.com>
Date: Fri, 22 Apr 2022 10:25:40 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Paolo Abeni <pabeni@...hat.com>,
netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] net: generalize skb freeing deferral to per-cpu lists
On Fri, Apr 22, 2022 at 9:50 AM Eric Dumazet <edumazet@...gle.com> wrote:
>
> On Fri, Apr 22, 2022 at 9:40 AM Jakub Kicinski <kuba@...nel.org> wrote:
> >
> > If so maybe we can avoid some dirtying and use a single-linked list?
> > No point modifying the cache line of the skb already on the list.
>
> Good idea, I can think about it.
>
My first implementation was using an llist (as current per-socket llist),
but then I needed the count as well, so I converted to standard sk_buff_head
It seems we can hand code to:
spinlock_t lock;
struct sk_buff *skb_head;
int count;
We also could keep an llist, and an atomic_t for the count, but that
would require two atomic ops, so no good.
Powered by blists - more mailing lists