Thread (39 messages) 39 messages, 5 authors, 2010-09-29

RE: [PATCH v11 00/17] Provide a zero-copy method on KVM virtio-net.

From: Xin, Xiaohui <hidden>
Date: 2010-09-27 00:46:11
Also in: kvm, lkml

From: Michael S. Tsirkin [mailto:mst@redhat.com]
Sent: Monday, September 27, 2010 1:02 AM
To: Xin, Xiaohui
Cc: netdev@vger.kernel.org; kvm@vger.kernel.org; linux-kernel@vger.kernel.org;
mingo@elte.hu; davem@davemloft.net; herbert@gondor.hengli.com.au;
jdike@linux.intel.com
Subject: Re: [PATCH v11 00/17] Provide a zero-copy method on KVM virtio-net.

On Sat, Sep 25, 2010 at 12:27:18PM +0800, xiaohui.xin@intel.com wrote:
quoted
We provide an zero-copy method which driver side may get external
buffers to DMA. Here external means driver don't use kernel space
to allocate skb buffers. Currently the external buffer can be from
guest virtio-net driver.

The idea is simple, just to pin the guest VM user space and then
let host NIC driver has the chance to directly DMA to it.
The patches are based on vhost-net backend driver. We add a device
which provides proto_ops as sendmsg/recvmsg to vhost-net to
send/recv directly to/from the NIC driver. KVM guest who use the
vhost-net backend may bind any ethX interface in the host side to
get copyless data transfer thru guest virtio-net frontend.
patch 01-10:  	net core and kernel changes.
patch 11-13:  	new device as interface to mantpulate external buffers.
patch 14: 	for vhost-net.
patch 15:	An example on modifying NIC driver to using napi_gro_frags().
patch 16:	An example how to get guest buffers based on driver
		who using napi_gro_frags().
patch 17:	It's a patch to address comments from Michael S. Thirkin
		to add 2 new ioctls in mp device.
		We split it out here to make easier reiewer.


I commented on how to avoid mm semaphore on data path separately, and
since you didn't have time to review that yet, I won't repeat that here.
I think I did avoid that in data path to use mm semaphore. I stored the value
in mp structures and check with that.
At this point what are the plans on macvtap integration?
You indicated this is the interface you intend to use longterm.
I'm now working on that.


Thanks
Xiaohui
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help