* [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
* 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
* 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] ` <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
* 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] ` <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
* 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