From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f175.google.com (mail-pd0-f175.google.com [209.85.192.175]) by dpdk.org (Postfix) with ESMTP id 49C0B3F9 for ; Thu, 11 Dec 2014 03:21:36 +0100 (CET) Received: by mail-pd0-f175.google.com with SMTP id g10so2018316pdj.34 for ; Wed, 10 Dec 2014 18:21:35 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=W79iT220X6OpoGYxmYXathgymYTnuoLQeqb1LzZYqPE=; b=G0F/GNcrDZPeYeaonC+phQv7qzKsKVNgWe1VPrQc8PoFJ33eDvmaJtnb1E7p9u1+Q4 pDKT7Ow4LBibv3uZBTX+epLTAJ+cBX5oLI1VItOqT5Ib250yB8kZOMBdevny8CjKyT9D d9PC5pz7JXv/BJVPa87r+6ZfYpseyK4SK8fI6HhuSyri7akqnbH0tUw+DzKJA++4IJD9 lQ/dBGYeBLwhO9hWjbedsSas9QSqIO3L9gpJreL09lr7a/DxO7FTJa+MAZFMVTJkd908 ObJkp2Y96JmJv30b236ZNoGKGs4Z+U4qw2mAqtrgsJYC/PsXRceL/OFNMg72+xLyqyQJ JiXQ== X-Gm-Message-State: ALoCoQlUujZiS+rxlwKzSJ3Atd7yZSPO3yGWytypjO5UuRCZHunojBExcDHMi3wtuFyB2GfYqjjr X-Received: by 10.70.128.203 with SMTP id nq11mr12616010pdb.52.1418264495588; Wed, 10 Dec 2014 18:21:35 -0800 (PST) Received: from [10.16.129.101] (napt.igel.co.jp. [219.106.231.132]) by mx.google.com with ESMTPSA id k4sm5328461pbq.74.2014.12.10.18.21.33 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 10 Dec 2014 18:21:35 -0800 (PST) Message-ID: <5488FFAD.4070705@igel.co.jp> Date: Thu, 11 Dec 2014 11:21:33 +0900 From: Tetsuya Mukawa User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: "Xie, Huawei" , "dev@dpdk.org" References: <1418247477-13920-1-git-send-email-huawei.xie@intel.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "haifeng.lin@intel.com" Subject: Re: [dpdk-dev] [PATCH RFC v2 00/12] lib/librte_vhost: vhost-user support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Dec 2014 02:21:36 -0000 Hi Xie, (2014/12/11 7:04), Xie, Huawei wrote: > This patch set is based on latest vhost. > It fixes vhost-user memory map/unmap alignment issue. > It uses VHOST_USER_GET_VRING_BASE as the message for vhost device stop= in vhost-user. > It uses VHOST_SET_VRING_KICK as the message that tells us vhost device= is ready in vhost-user. > =09 > Tetsuya: > Your abstraction layer hasn't been integrated due to time issue, so no= w we support both vhost-cuse and vhost-user, but only one driver could be= registered. Thanks, I will be able to submit it after merging these patches. > This is not the final patch, and there might be resource leak issue(whi= ch is critical for vhost enabled switch, as vSwitch needs to run endlessl= y, and virtio in guest VM and VM itself could be restarted repeatedly. Wi= ll take effort to check if all the memory region has been unmapped, and i= f all fds are closed properly in all possible path.) > I have tried to restart virtio-PMD repeatedly and switch between virtio= -PMD and virtio-pci several times, it runs smoothly and no resource leak = so far. I agree with your concerns. I will check it also. > There are other features like multiple socket file, client mode to be s= upported. > > What if the vhost is terminated due to program error? What if vhost nee= ds to be upgraded dynamically? How could we reconnect to virtio frontend?= That is very very important feature if you are working on it. :). Yes, now I am working on it. But I haven't finished my work yet. After finishing, I will send my RFC to start discussion. > Please help review. Sure, I will. :) Thanks, Tetsuya > Thanks! > > =09 > > >> -----Original Message----- >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Huawei Xie >> Sent: Wednesday, December 10, 2014 2:38 PM >> To: dev@dpdk.org >> Cc: haifeng.lin@intel.com >> Subject: [dpdk-dev] [PATCH RFC v2 00/12] lib/librte_vhost: vhost-user = support >> >> This patchset refines vhost library to support both vhost-cuse and vho= st-user. >> >> >> Huawei Xie (12): >> create vhost_cuse directory and move vhost-net-cdev.c to vhost_cuse >> directory >> rename vhost-net-cdev.h as vhost-net.h >> move eventfd_copy logic out from virtio-net.c to vhost-net-cdev.c >> exact copy of host_memory_map from virtio-net.c to new file >> virtio-net-cdev.c >> host_memory_map refine: map partial memory of target process into cu= rrent >> process >> cuse_set_memory_table is the VHOST_SET_MEMORY_TABLE message handler >> for cuse >> fd management for vhost user >> vhost-user support >> minor fix >> vhost-user memory region map/unmap >> kick/callfd fix >> cleanup when vhost user connection is closed >> >> lib/librte_vhost/Makefile | 5 +- >> lib/librte_vhost/rte_virtio_net.h | 2 + >> lib/librte_vhost/vhost-net-cdev.c | 389 -----------------= ----- >> lib/librte_vhost/vhost-net-cdev.h | 113 ------- >> lib/librte_vhost/vhost-net.h | 117 +++++++ >> lib/librte_vhost/vhost_cuse/vhost-net-cdev.c | 452 >> ++++++++++++++++++++++++++ >> lib/librte_vhost/vhost_cuse/virtio-net-cdev.c | 349 +++++++++++++++++= +++ >> lib/librte_vhost/vhost_cuse/virtio-net-cdev.h | 45 +++ >> lib/librte_vhost/vhost_rxtx.c | 2 +- >> lib/librte_vhost/vhost_user/fd_man.c | 205 ++++++++++++ >> lib/librte_vhost/vhost_user/fd_man.h | 64 ++++ >> lib/librte_vhost/vhost_user/vhost-net-user.c | 423 >> ++++++++++++++++++++++++ >> lib/librte_vhost/vhost_user/vhost-net-user.h | 107 ++++++ >> lib/librte_vhost/vhost_user/virtio-net-user.c | 313 +++++++++++++++++= + >> lib/librte_vhost/vhost_user/virtio-net-user.h | 49 +++ >> lib/librte_vhost/virtio-net.c | 394 ++---------------= ----- >> lib/librte_vhost/virtio-net.h | 43 +++ >> 17 files changed, 2199 insertions(+), 873 deletions(-) >> delete mode 100644 lib/librte_vhost/vhost-net-cdev.c >> delete mode 100644 lib/librte_vhost/vhost-net-cdev.h >> create mode 100644 lib/librte_vhost/vhost-net.h >> create mode 100644 lib/librte_vhost/vhost_cuse/vhost-net-cdev.c >> create mode 100644 lib/librte_vhost/vhost_cuse/virtio-net-cdev.c >> create mode 100644 lib/librte_vhost/vhost_cuse/virtio-net-cdev.h >> create mode 100644 lib/librte_vhost/vhost_user/fd_man.c >> create mode 100644 lib/librte_vhost/vhost_user/fd_man.h >> create mode 100644 lib/librte_vhost/vhost_user/vhost-net-user.c >> create mode 100644 lib/librte_vhost/vhost_user/vhost-net-user.h >> create mode 100644 lib/librte_vhost/vhost_user/virtio-net-user.c >> create mode 100644 lib/librte_vhost/vhost_user/virtio-net-user.h >> create mode 100644 lib/librte_vhost/virtio-net.h >> >> -- >> 1.8.1.4