[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+mtBx8rVu9FXtnc18n22L9LP=t=3Pso7U2yvvLcnny57w8aXg@mail.gmail.com>
Date: Wed, 1 Oct 2014 07:55:21 -0700
From: Tom Herbert <therbert@...gle.com>
To: Jamal Hadi Salim <jhs@...atatu.com>
Cc: David Miller <davem@...emloft.net>,
Jesper Dangaard Brouer <brouer@...hat.com>,
Linux Netdev List <netdev@...r.kernel.org>,
Eric Dumazet <eric.dumazet@...il.com>,
Hannes Frederic Sowa <hannes@...essinduktion.org>,
Florian Westphal <fw@...len.de>,
Daniel Borkmann <dborkman@...hat.com>,
Alexander Duyck <alexander.duyck@...il.com>,
John Fastabend <john.r.fastabend@...el.com>,
Dave Taht <dave.taht@...il.com>,
Toke Høiland-Jørgensen <toke@...e.dk>
Subject: Re: [net-next PATCH V5] qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE
On Wed, Oct 1, 2014 at 6:17 AM, Jamal Hadi Salim <jhs@...atatu.com> wrote:
> On 09/30/14 14:20, David Miller wrote:
>>
>> From: Jamal Hadi Salim <jhs@...atatu.com>
>> Date: Tue, 30 Sep 2014 07:07:37 -0400
>>
>>> Note, there are benefits as you have shown - but i would not
>>> consider those to be standard use cases (actully one which would
>>> have shown clear win is the VM thing Rusty was after).
>>
>>
>> I completely disagree, you will see at least decreased cpu utilization
>> for a very common case, bulk single stream transfers.
>>
>
>
> So lets say the common use case is:
> = modern day cpu (pick some random cpu)
> = 1-10 Gbps ethernet (not 100mbps)
> = 1-24 tcp or udp bulk (you said one, Jesper had 24 which sounds better)
>
> Run with test cases:
> a) unchanged (no bulking code added at all)
> vs
> b) bulking code added and used
> vs
> c) bulking code added and *not* used
>
> Jesper's results are comparing #b and #c.
>
> And if #b + #c are slightly worse or equal then we have a win;->
>
> Again, I do believe things like traffic generators or the VM io
> or something like tuntap that crosses user space will have a clear
> benefit (but are those common use cases?).
>
You're making this much more complicated that it actually is. The
algorithm is simple-- queue wakes up, finds out how exactly many bytes
to dequeue, and performs dequeue of enough packets under one lock. The
should be a benefit when transmitting high rate as we know that
reducing locking is generally a win. It needs to be tested, but this
should be independent of whether application is a VM, in userspace or
kernel, packetgen, etc.
Tom
> cheers,
> jamal
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists