Re: [PATCH net-next] fq_codel: add batch ability to fq_codel_drop()

2016-05-03 Thread David Miller
From: Eric Dumazet Date: Sun, 01 May 2016 16:47:26 -0700 > From: Eric Dumazet > > In presence of inelastic flows and stress, we can call > fq_codel_drop() for every packet entering fq_codel qdisc. > > fq_codel_drop() is quite expensive, as it does a linear scan > of 4 KB of memory to find a fa

Re: [PATCH net-next] fq_codel: add batch ability to fq_codel_drop()

2016-05-02 Thread Dave Taht
I have duplicated the issue on my own hardware. I would like to explore also upping the codel count in this scenario at some point, but: Acked-by: Dave Taht

Re: [PATCH net-next] fq_codel: add batch ability to fq_codel_drop()

2016-05-02 Thread Jesper Dangaard Brouer
On Mon, 02 May 2016 09:12:51 -0700 Eric Dumazet wrote: > 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. E

Re: [PATCH net-next] fq_codel: add batch ability to fq_codel_drop()

2016-05-02 Thread Eric Dumazet
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

Re: [PATCH net-next] fq_codel: add batch ability to fq_codel_drop()

2016-05-02 Thread Jesper Dangaard Brouer
On Mon, 02 May 2016 07:34:28 -0700 Eric Dumazet wrote: > On Mon, 2016-05-02 at 09:49 +0200, Jesper Dangaard Brouer wrote: > > > What about using bulk free of SKBs here? > > > > There is a very high probability that we are hitting SLUB slowpath, > > which involves an expensive locked cmpxchg_dou

Re: [PATCH net-next] fq_codel: add batch ability to fq_codel_drop()

2016-05-02 Thread Eric Dumazet
On Mon, 2016-05-02 at 09:49 +0200, Jesper Dangaard Brouer wrote: > What about using bulk free of SKBs here? > > There is a very high probability that we are hitting SLUB slowpath, > which involves an expensive locked cmpxchg_double per packet. Instead > we can amortize this cost via kmem_cache_f

Re: [PATCH net-next] fq_codel: add batch ability to fq_codel_drop()

2016-05-02 Thread Jesper Dangaard Brouer
On Sun, 01 May 2016 16:47:26 -0700 Eric Dumazet wrote: > From: Eric Dumazet > > In presence of inelastic flows and stress, we can call > fq_codel_drop() for every packet entering fq_codel qdisc. > > fq_codel_drop() is quite expensive, as it does a linear scan > of 4 KB of memory to find a fat

[PATCH net-next] fq_codel: add batch ability to fq_codel_drop()

2016-05-01 Thread Eric Dumazet
From: Eric Dumazet In presence of inelastic flows and stress, we can call fq_codel_drop() for every packet entering fq_codel qdisc. fq_codel_drop() is quite expensive, as it does a linear scan of 4 KB of memory to find a fat flow. Once found, it drops the oldest packet of this flow. Instead of