Re: copyless virtio net thoughts?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 06, 2009 at 10:46:37AM +0200, Avi Kivity wrote:
>
> The guest's block layer is copyless.  The host block layer is -><- this  
> far from being copyless -- all we need is preadv()/pwritev() or to  
> replace our thread pool implementation in qemu with linux-aio.   
> Everything else is copyless.
>
> Since we are actively working on this, expect this limitation to  
> disappear soon.

Great, when that happens I'll promise to revisit zero-copy transmit :)

> I support this, but it should be in addition to copylessness, not on its  
> own.

I was talking about it in the context of zero-copy receive, where
you mentioned that the virtio/kvm copy may not occur on the CPU of
the guest's copy.

My point is that using multiqueue you can avoid this change of CPU.

But yeah I think zero-copy receive is much more useful than zero-
copy transmit at the moment.  Although I'd prefer to wait for
you guys to finish the block layer work before contemplating
pushing the copy on receive into the guest :)

> - many guests will not support multiqueue

Well, these guests will suck both on baremetal and in virtualisation,
big deal :) Multiqueue at 10GbE speeds and above is simply not an
optional feature.

> - for some threaded workloads, you cannot predict where the final read()  
> will come from; this renders multiqueue ineffective for keeping cache  
> locality
>
> - usually you want virtio to transfer large amounts of data; but if you  
> want your copies to be cache-hot, you need to limit transfers to half  
> the cache size (a quarter if hyperthreading); this limits virtio  
> effectiveness

Agreed on both counts.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux