Subject: Re: [PATCH net-next 4/4] net_sched: generalize bulk dequeue

From: Jesper Dangaard Brouer <[email-masked]>
Date: Wed, 22 Jun 2016 17:03:23 +0200

On Tue, 21 Jun 2016 23:16:52 -0700
Eric Dumazet <[email-masked]> wrote:

> When qdisc bulk dequeue was added in linux-3.18 (commit
> 5772e9a3463b "qdisc: bulk dequeue support for qdiscs
> with TCQ_F_ONETXQUEUE"), it was constrained to some
> specific qdiscs.

Thanks for extending this!

> With some extra care, we can extend this to all qdiscs,
> so that typical traffic shaping solutions can benefit from
> small batches (8 packets in this patch).

I'm fine with limiting this to 8 packets (xmit_more), as that seem to
be the minimum needed TX batch size (according to Luigi's original
netmap article[1] figure 7) for doing 10G wirespeed.

[1] http://info.iet.unipi.it/~luigi/papers/20120503-netmap-atc12.pdf

> For example, HTB is often used on some multi queue device.
> And bonding/team are multi queue devices...
> 
> Idea is to bulk-dequeue packets mapping to the same transmit queue.
> 
> This brings between 35 and 80 % performance increase in HTB setup
> under pressure on a bonding setup :
> 
> 1) NUMA node contention :   610,000 pps -> 1,110,000 pps
> 2) No node contention   : 1,380,000 pps -> 1,930,000 pps
> 
> Now we should work to add batches on the enqueue() side ;)

Yes, please! :-))) That will be the next big step!

> Signed-off-by: Eric Dumazet <[email-masked]>
> Cc: John Fastabend <[email-masked]>
> Cc: Jesper Dangaard Brouer <[email-masked]>
> Cc: Hannes Frederic Sowa <[email-masked]>
> Cc: Florian Westphal <[email-masked]>
> Cc: Daniel Borkmann <[email-masked]>

Acked-by: Jesper Dangaard Brouer <[email-masked]>

This is great stuff!

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  Author of http://www.iptv-analyzer.org
  LinkedIn: http://www.linkedin.com/in/brouer