From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932544Ab0I0AqL (ORCPT ); Sun, 26 Sep 2010 20:46:11 -0400 Received: from mga11.intel.com ([192.55.52.93]:2860 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755145Ab0I0AqJ convert rfc822-to-8bit (ORCPT ); Sun, 26 Sep 2010 20:46:09 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.57,240,1283756400"; d="scan'208";a="841120138" From: "Xin, Xiaohui" To: "Michael S. Tsirkin" 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" Date: Mon, 27 Sep 2010 08:44:52 +0800 Subject: RE: [PATCH v11 00/17] Provide a zero-copy method on KVM virtio-net. Thread-Topic: [PATCH v11 00/17] Provide a zero-copy method on KVM virtio-net. Thread-Index: ActdnV5IzY37EumUQUSR1zIrObvBqQAP3sEw Message-ID: References: <1285388855-27410-1-git-send-email-xiaohui.xin@intel.com> <20100926170142.GA24196@redhat.com> In-Reply-To: <20100926170142.GA24196@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >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: >> 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