* [announce] KVM/NET, paravirtual network device
@ 2007-01-11 0:10 Ingo Molnar
[not found] ` <20070111001010.GA28779-X9Un+BFzKDI@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Ingo Molnar @ 2007-01-11 0:10 UTC (permalink / raw)
To: kvm-devel
here's a quick update wrt. the KVM paravirtualization work: i'm
currently working on KVM/NET, which is a Linux<->Linux virtual network
device driver between the KVM host and the KVM guest. It uses the new
KVM-paravirtualization infrastructure that i've sent to this list
yesterday.
while the code is still a prototype, it's working already and here are
some early TCP bandwidth (bw_tcp from guest to host) performance results
which i'm sure you'll enjoy:
-----------------------------------------------------------
| Native via loopback (mtu=1500) : 235.57 MB/sec |
| Native via loopback (mtu=4000) : 487.12 MB/sec |
-----------------------------------------------------------
| Qemu via RTL-8029 emulation : 2.84 MB/sec |
| KVM via RTL-8029 emulation : 7.41 MB/sec |
-----------------------------------------------------------
| KVM-para via KVM/NET device (mtu=1500) : 303.35 MB/sec |
| KVM-para via KVM/NET device (mtu=4000) : 389.47 MB/sec |
-----------------------------------------------------------
Ingo
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
^ permalink raw reply [flat|nested] 7+ messages in thread[parent not found: <20070111001010.GA28779-X9Un+BFzKDI@public.gmane.org>]
* Re: [announce] KVM/NET, paravirtual network device [not found] ` <20070111001010.GA28779-X9Un+BFzKDI@public.gmane.org> @ 2007-01-11 1:27 ` Rusty Russell [not found] ` <1168478834.19646.230.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 2007-01-11 8:21 ` Avi Kivity 1 sibling, 1 reply; 7+ messages in thread From: Rusty Russell @ 2007-01-11 1:27 UTC (permalink / raw) To: Ingo Molnar; +Cc: kvm-devel On Thu, 2007-01-11 at 01:10 +0100, Ingo Molnar wrote: > here's a quick update wrt. the KVM paravirtualization work: i'm > currently working on KVM/NET, which is a Linux<->Linux virtual network > device driver between the KVM host and the KVM guest. It uses the new > KVM-paravirtualization infrastructure that i've sent to this list > yesterday. > > while the code is still a prototype, it's working already and here are > some early TCP bandwidth (bw_tcp from guest to host) performance results > which i'm sure you'll enjoy: I assume you use kernel support in the host as well? This is exactly the code we should share, IMHO; Xen already has such a thing, and I'd prefer not to have three implementations in the kernel.... Patches? Rusty. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <1168478834.19646.230.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>]
* Re: [announce] KVM/NET, paravirtual network device [not found] ` <1168478834.19646.230.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> @ 2007-01-11 1:38 ` Ingo Molnar 2007-01-11 9:57 ` Dor Laor 1 sibling, 0 replies; 7+ messages in thread From: Ingo Molnar @ 2007-01-11 1:38 UTC (permalink / raw) To: Rusty Russell; +Cc: kvm-devel * Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org> wrote: > On Thu, 2007-01-11 at 01:10 +0100, Ingo Molnar wrote: > > here's a quick update wrt. the KVM paravirtualization work: i'm > > currently working on KVM/NET, which is a Linux<->Linux virtual network > > device driver between the KVM host and the KVM guest. It uses the new > > KVM-paravirtualization infrastructure that i've sent to this list > > yesterday. > > > > while the code is still a prototype, it's working already and here are > > some early TCP bandwidth (bw_tcp from guest to host) performance results > > which i'm sure you'll enjoy: > > I assume you use kernel support in the host as well? This is exactly > the code we should share, IMHO; Xen already has such a thing, and I'd > prefer not to have three implementations in the kernel.... > > Patches? no patches yet - it's still prototype. I hope to have something to look at tomorrow-ish. With lhype sharing ought to be possible, while Xen's model is quite different. I agree that we dont want 3 implementations in the kernel ... Ingo ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [announce] KVM/NET, paravirtual network device [not found] ` <1168478834.19646.230.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 2007-01-11 1:38 ` Ingo Molnar @ 2007-01-11 9:57 ` Dor Laor 1 sibling, 0 replies; 7+ messages in thread From: Dor Laor @ 2007-01-11 9:57 UTC (permalink / raw) To: Rusty Russell, Ingo Molnar; +Cc: kvm-devel >On Thu, 2007-01-11 at 01:10 +0100, Ingo Molnar wrote: >> here's a quick update wrt. the KVM paravirtualization work: i'm >> currently working on KVM/NET, which is a Linux<->Linux virtual network >> device driver between the KVM host and the KVM guest. It uses the new >> KVM-paravirtualization infrastructure that i've sent to this list >> yesterday. >> >> while the code is still a prototype, it's working already and here are >> some early TCP bandwidth (bw_tcp from guest to host) performance results >> which i'm sure you'll enjoy: > >I assume you use kernel support in the host as well? This is exactly >the code we should share, IMHO; Xen already has such a thing, and I'd >prefer not to have three implementations in the kernel.... Well, Xen implementation has the grant tables and all their ring code (a good one thought). On the beginning you can start without convergence and aim towards it. Here is a link that describes Xen HVM pv driver performance: http://www.xensource.com/files/summit_3/xen-pv-drivers.pdf for 1500 mtu their doing 400Mbs rx, 500+Mbs tx. I guess Ingo will soon reach that... > >Patches? >Rusty. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [announce] KVM/NET, paravirtual network device [not found] ` <20070111001010.GA28779-X9Un+BFzKDI@public.gmane.org> 2007-01-11 1:27 ` Rusty Russell @ 2007-01-11 8:21 ` Avi Kivity [not found] ` <45A5F382.7050207-atKUWr5tajBWk0Htik3J/w@public.gmane.org> 1 sibling, 1 reply; 7+ messages in thread From: Avi Kivity @ 2007-01-11 8:21 UTC (permalink / raw) To: Ingo Molnar; +Cc: kvm-devel Ingo Molnar wrote: > here's a quick update wrt. the KVM paravirtualization work: i'm > currently working on KVM/NET, which is a Linux<->Linux virtual network > device driver between the KVM host and the KVM guest. It uses the new > KVM-paravirtualization infrastructure that i've sent to this list > yesterday. > > while the code is still a prototype, it's working already and here are > some early TCP bandwidth (bw_tcp from guest to host) performance results > which i'm sure you'll enjoy: > > ----------------------------------------------------------- > | Native via loopback (mtu=1500) : 235.57 MB/sec | > | Native via loopback (mtu=4000) : 487.12 MB/sec | > ----------------------------------------------------------- > | Qemu via RTL-8029 emulation : 2.84 MB/sec | > | KVM via RTL-8029 emulation : 7.41 MB/sec | > ----------------------------------------------------------- > | KVM-para via KVM/NET device (mtu=1500) : 303.35 MB/sec | > | KVM-para via KVM/NET device (mtu=4000) : 389.47 MB/sec | > ----------------------------------------------------------- > > That's about a 5000% improvement :) Amazing, both the bandwidth results and the speed in which it was reached. I'm really at a loss for words. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <45A5F382.7050207-atKUWr5tajBWk0Htik3J/w@public.gmane.org>]
* Re: [announce] KVM/NET, paravirtual network device [not found] ` <45A5F382.7050207-atKUWr5tajBWk0Htik3J/w@public.gmane.org> @ 2007-01-11 17:39 ` Andy Ross [not found] ` <45A67653.9000406-DKCljQvcl/LNLxjTenLetw@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Andy Ross @ 2007-01-11 17:39 UTC (permalink / raw) To: kvm-devel Avi Kivity wrote: > Ingo Molnar wrote: > > | Qemu via RTL-8029 emulation : 2.84 MB/sec | > > | KVM via RTL-8029 emulation : 7.41 MB/sec | > > | KVM-para via KVM/NET device (mtu=1500) : 303.35 MB/sec | > > That's about a 5000% improvement :) > > Amazing, both the bandwidth results and the speed in which it was > reached. I'm really at a loss for words. Is maybe a better question to ask what it is that makes the Qemu hardware emulation so slow? Andy ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <45A67653.9000406-DKCljQvcl/LNLxjTenLetw@public.gmane.org>]
* Re: [announce] KVM/NET, paravirtual network device [not found] ` <45A67653.9000406-DKCljQvcl/LNLxjTenLetw@public.gmane.org> @ 2007-01-11 17:49 ` Avi Kivity 0 siblings, 0 replies; 7+ messages in thread From: Avi Kivity @ 2007-01-11 17:49 UTC (permalink / raw) To: Andy Ross; +Cc: kvm-devel Andy Ross wrote: > Avi Kivity wrote: > > Ingo Molnar wrote: > > > | Qemu via RTL-8029 emulation : 2.84 MB/sec | > > > | KVM via RTL-8029 emulation : 7.41 MB/sec | > > > | KVM-para via KVM/NET device (mtu=1500) : 303.35 MB/sec | > > > > That's about a 5000% improvement :) > > > > Amazing, both the bandwidth results and the speed in which it was > > reached. I'm really at a loss for words. > > Is maybe a better question to ask what it is that makes the Qemu > hardware emulation so slow? > To send a packet through ne2k, you need about 44 pio writes. at ~10us per pio write, that's about 2k packets/sec, or 3MB/sec. RTL8029 is about twice as fast. A pv interface can send multiple packets per hypercall. Working backward from Ingo's numbers, 300 MB/sec = 200k packets/sec = 2 packets/hypercall. Or perhaps his hardware is faster and he does 1 packet/hypercall. Or maybe I need to take the memcpy time into account at this bandwidth :) -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-01-11 17:49 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-11 0:10 [announce] KVM/NET, paravirtual network device Ingo Molnar
[not found] ` <20070111001010.GA28779-X9Un+BFzKDI@public.gmane.org>
2007-01-11 1:27 ` Rusty Russell
[not found] ` <1168478834.19646.230.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-01-11 1:38 ` Ingo Molnar
2007-01-11 9:57 ` Dor Laor
2007-01-11 8:21 ` Avi Kivity
[not found] ` <45A5F382.7050207-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-01-11 17:39 ` Andy Ross
[not found] ` <45A67653.9000406-DKCljQvcl/LNLxjTenLetw@public.gmane.org>
2007-01-11 17:49 ` Avi Kivity
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox