From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: [PATCH v3 0/7] virtio_user as an alternative exception path Date: Mon, 9 Jan 2017 14:06:34 +0000 Message-ID: <20170109140634.GA94516@bricha3-MOBL3.ger.corp.intel.com> References: <1480689075-66977-1-git-send-email-jianfeng.tan@intel.com> <1483502366-140154-1-git-send-email-jianfeng.tan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, yuanhan.liu@linux.intel.com, ferruh.yigit@intel.com, cunming.liang@intel.com To: Jianfeng Tan Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id D6BBC152A for ; Mon, 9 Jan 2017 15:06:39 +0100 (CET) Content-Disposition: inline In-Reply-To: <1483502366-140154-1-git-send-email-jianfeng.tan@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Jan 04, 2017 at 03:59:19AM +0000, Jianfeng Tan wrote: > v3: > - Drop the patch to postpone driver ok sending patch, superseded it > with a bug fix to disable all virtqueues and re-init the device. > (you might wonder why not just send reset owner msg. Under my test, > it causes spinlock deadlock problem when killing the program). > - Avoid compiling error on 32-bit system for pointer convert. > - Fix a bug in patch "abstract virtio user backend ops", vhostfd is > not properly assigned. > - Fix a "MQ cannot be used" bug in v2, which is related to strip > some feature bits that vhost kernel does not recognize. > - Update release note. > > v2: (Lots of them are from yuanhan's comment) > - Add offloding feature. > - Add multiqueue support. > - Add a new patch to postpone the sending of driver ok notification. > - Put fix patch ahead of the whole patch series. > - Split original 0001 patch into 0003 and 0004 patches. > - Remove the original vhost_internal design, just add those into > struct virtio_user_dev for simplicity. > - Reword "control" to "send_request". > - Reword "host_features" to "device_features". > > In v16.07, we upstreamed a virtual device, virtio_user (with vhost-user > as the backend). The path to go with a vhost-kernel backend has been > dropped for bad performance comparing to vhost-user and code simplicity. > > But after a second thought, virtio_user + vhost-kernel is a good > candidate as an exceptional path, such as KNI, which exchanges packets > with kernel networking stack. > - maintenance: vhost-net (kernel) is upstreamed and extensively used > kernel module. We don't need any out-of-tree module like KNI. > - performance: as with KNI, this solution would use one or more > kthreads to send/receive packets from user space DPDK applications, > which has little impact on user space polling thread (except that > it might enter into kernel space to wake up those kthreads if > necessary). > - features: vhost-net is born to be a networking solution, which has > lots of networking related featuers, like multi queue, tso, multi-seg > mbuf, etc. > > Signed-off-by: Jianfeng Tan > Sounds great. However, I think we'll need a how-to doc for this to help people get it up and running as a KNI replacement for packets to/from the kernel. Any plans to draw up such a doc? It would be good to include it in this patchset. /Bruce