On Tue, Apr 10, 2007 at 02:21:24PM +0300, Avi Kivity ([EMAIL PROTECTED]) wrote: > >You want to implement zero-copy network device between host and guest, if > >I understood this thread correctly? > >So, for sending part, device allocates pages from receiver's memory (or > >from shared memory), receiver gets an 'interrupt' and got pages from own > >memory, which are attached to new skb and transferred up to the network > >stack. > >It can be extended to use shared ring of pages. > > > > This is what Xen does. It is actually less performant than copying, IIRC. > > The problem with flipping pages around is that physical addresses are > cached both in the kvm mmu and in the on-chip tlbs, necessitating > expensive page table walks and tlb invalidation IPIs.
Hmm, I'm not familiar with Xen driver, but similar technique was used with zero-copy network sniffer some time ago, substituting userspace pages with pages containing skb data was about 25-50% faster than copying 1500 bytes in general, and in order of 10 times faster in some cases. Check a link please in case we are talking about different ideas: http://marc.info/?l=linux-netdev&m=112262743505711&w=2 -- Evgeniy Polyakov - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html