From: Avi Kivity <avi@qumranet.com>
To: Laurent Vivier <Laurent.Vivier@bull.net>
Cc: kvm-devel@lists.sourceforge.net
Subject: Re: [PATCH 0/2] Batch writes to MMIO
Date: Wed, 23 Apr 2008 19:25:55 +0300 [thread overview]
Message-ID: <480F6313.4060106@qumranet.com> (raw)
In-Reply-To: <1208967864.4281.36.camel@frecb07144>
Laurent Vivier wrote:
> Le mercredi 23 avril 2008 à 10:10 -0500, Anthony Liguori a écrit :
> [...]
>
>> The ne2k is pretty mmio heavy. You should be able to observe a boost
>> with something like iperf (guest=>host) I would think if this is a real
>> savings.
>>
>
> I like your advices :-D
>
> I use iperf with e1000 emulation and a slightly modified patch (to
> detect MMIO write in a loop), server is on the host, client on the
> guest, with default values.
>
> RESULT WITHOUT BATCHING:
>
> [ 4] 0.0-10.0 sec 235 MBytes 197 Mbits/sec
> [ 5] 0.0-10.0 sec 194 MBytes 163 Mbits/sec
> [ 4] 0.0-10.0 sec 185 MBytes 155 Mbits/sec
> [ 5] 0.0-10.0 sec 227 MBytes 190 Mbits/sec
> [ 4] 0.0-10.0 sec 196 MBytes 164 Mbits/sec
> [ 5] 0.0-10.0 sec 194 MBytes 163 Mbits/sec
> [ 4] 0.0-10.0 sec 184 MBytes 154 Mbits/sec
>
> RESULT WITH BATCHING:
>
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size: 85.3 KByte (default)
> ------------------------------------------------------------
> [ 4] 0.0-10.0 sec 357 MBytes 299 Mbits/sec
> [ 5] 0.0-10.1 sec 418 MBytes 347 Mbits/sec
> [ 4] 0.0-10.0 sec 408 MBytes 342 Mbits/sec
> [ 5] 0.0-10.0 sec 422 MBytes 353 Mbits/sec
> [ 4] 0.0-10.1 sec 436 MBytes 362 Mbits/sec
> [ 5] 0.0-10.0 sec 416 MBytes 348 Mbits/sec
> [ 4] 0.0-10.0 sec 431 MBytes 361 Mbits/sec
>
> Well, it's nice ?
>
It's too good to be true.
I think we're seeing two bugs cancel each other out, resulting in a
performance gain. Linux doesn't know how to queue outgoing packets, so
it bangs on the mmio that starts the transmit after every packet. mmio
batching doesn't know that this mmio register is critical for latency,
so it queues it up. The result is that you you get not just mmio
batching, but also packet batching! Which dramatically improves
performace at the expense of latency.
Sorry (if it's true :)
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel
next prev parent reply other threads:[~2008-04-23 16:25 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-23 13:07 [PATCH 0/2] Batch writes to MMIO Laurent Vivier
2008-04-23 13:07 ` [PATCH 1/2] kvm: " Laurent Vivier
2008-04-23 13:07 ` [PATCH 2/2] kvm-userspace: " Laurent Vivier
2008-04-23 14:31 ` [PATCH 1/2] kvm: " Avi Kivity
2008-04-23 14:59 ` Laurent Vivier
2008-04-23 15:04 ` Avi Kivity
2008-04-23 16:53 ` Anthony Liguori
2008-04-23 14:05 ` [PATCH 0/2] " Avi Kivity
2008-04-23 14:22 ` Laurent Vivier
2008-04-23 14:40 ` Avi Kivity
2008-04-23 15:10 ` Anthony Liguori
2008-04-23 15:12 ` Avi Kivity
2008-04-23 15:47 ` Anthony Liguori
2008-04-23 17:13 ` Avi Kivity
2008-04-23 16:24 ` Laurent Vivier
2008-04-23 16:25 ` Avi Kivity [this message]
2008-04-23 16:41 ` Laurent Vivier
2008-04-23 16:48 ` Anthony Liguori
2008-04-23 16:51 ` Avi Kivity
2008-04-23 18:54 ` Laurent Vivier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=480F6313.4060106@qumranet.com \
--to=avi@qumranet.com \
--cc=Laurent.Vivier@bull.net \
--cc=kvm-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox