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

Michael S. Tsirkin
2010-09-26T17:07:58Z

On Sat, Sep 25, 2010 at 12:27:18PM +0800, xiaohui.xin@intel.com wrote:
> 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.

At this point what are the plans on macvtap integration?
You indicated this is the interface you intend to use longterm.