Subject: Re: [net-next PATCH 2/3] qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE

From: Jesper Dangaard Brouer <[email-masked]>
Date: Wed, 3 Sep 2014 11:31:19 +0200

On Tue, 02 Sep 2014 08:22:42 -0700
Eric Dumazet <[email-masked]> wrote:

> On Tue, 2014-09-02 at 16:35 +0200, Jesper Dangaard Brouer wrote:
> 
> > This is crazy fast. This measurement is actually "too-high" as
> > 10Gbit/s wirespeed is 14,880,952 (11049 pps too fast).
> > 
> > Signed-off-by: Jesper Dangaard Brouer <[email-masked]>
> > ---
> 
> This looks buggy, you forgot about GSO.

The GSO check is (!skb->next), right(?)

> (You did the test only for first dequeued packet, not the followings)

Ah! yes, for the following packets!

> Make sure you test your patch with something else than pktgen.

I were not using pktgen, but trafgen (raw/af_packet) ;-)
And I've also been using netperf and super_netperf for testing.

pktgen is difficult to use in this scenerio, because it bypass'es the
qdisc layer.  But I have actually (with help from John Fastabend)
constructed a setup, where I add a VLAN interface, which pktgen can
xmit on, which will make packets travel the qdisc layer of the
underlying real device. (pktgen's clone_skb must be 0 in this setup).
So, I'm not currently using pktgen...

> Also, our idea was to use a byte count limit (aka BQL)

It makes sense. I will look into using the BQL limits.

> If we dequeue 8 64KB packets, this patch adds head of line blocking,
> which we fought hard.

I should not be able to add GSO packets to the skb list in
dequeue_skb(), or did I miss something.

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