[dpdk-dev] [PATCH RFC v2 00/12] lib/librte_vhost: vhost-user support

Tetsuya Mukawa mukawa at igel.co.jp
Thu Dec 11 03:21:33 CET 2014


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.
> 	
> Tetsuya:
> 	Your abstraction layer hasn't been integrated due to time issue, so now 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(which is critical for vhost enabled switch, as vSwitch needs to run endlessly, and virtio in guest VM and VM itself could be restarted repeatedly. Will take effort to check if all the memory region has been unmapped, and if 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 supported.
>
> What if the vhost is terminated due to program error? What if vhost needs 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!
>
> 	
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Huawei Xie
>> Sent: Wednesday, December 10, 2014 2:38 PM
>> To: dev at dpdk.org
>> Cc: haifeng.lin at 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 vhost-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 current
>> 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




More information about the dev mailing list