[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1462205571.5535.253.camel@edumazet-glaptop3.roam.corp.google.com>
Date: Mon, 02 May 2016 09:12:51 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Jesper Dangaard Brouer <brouer@...hat.com>
Cc: David Miller <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>, Dave Taht <dave.taht@...il.com>,
Jonathan Morton <chromatix99@...il.com>
Subject: Re: [PATCH net-next] fq_codel: add batch ability to fq_codel_drop()
On Mon, 2016-05-02 at 18:00 +0200, Jesper Dangaard Brouer wrote:
> It is not that complicated, inside kfree_skb_list(), we just call
> skb_release_all(skb) on each SKB first, and then bulk free the SKB's
> themselves in the end. Example see, _kfree_skb_defer().
>
> The question is where to store the SKB array needed by kmem_cache_free_bulk.
>
> The easy option is just to use the stack of kfree_skb_list(), but we
> have to be careful about the stack size, it might not be so good
> because skb_release_all() can be deep and via skb_release_data() invoke
> kfree_skb_list() a second time.
>
It sounds you are reinventing the wheel ;)
If drivers use napi_consume_skb(), qdisc should be able to use it the
same, since BH are disabled in their ->enqueue()/->dequeue() handlers.
This would be a separate patch of course.
This fq_codel fix might need to be backported.
Powered by blists - more mailing lists