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