All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] qemu vhost-user support
@ 2015-01-30  6:36 Huawei Xie
       [not found] ` <1422599787-12009-1-git-send-email-huawei.xie-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 20+ messages in thread
From: Huawei Xie @ 2015-01-30  6:36 UTC (permalink / raw)
  To: dev-VfR2kkLFssw

vhost-user supports passing vring information to a seperate vhost enabled
process, normally a user space vSwitch, through unix domain socket.

In previous DPDK version, we implement a user space character device driver
vhost-cuse in user space DPDK process. vring informations are passed to the
driver through ioctl call, including eventfds for interrupt injection and
host notification. We need to develop a kernel module to copy that fd from
qemu into our process. We also need some trick to map guest memory.
(TODO: kickfd/callfd is reversed which causes confusion)

known issue in vhost-user implementation in QEMU, reported by haifeng.lin-hv44wF8Li93QT0dZR+AlfA@public.gmane.org
* QEMU doesn't send correct memory region information with multiple numa node configuration
 	http://lists.gnu.org/archive/html/qemu-devel/2014-12/msg01454.html

Thanks Tetsuya for reporting the issue that "FD_ISSET would crash when receive -1
as fd on Ubuntu 14.04".

Huawei Xie (12):
  enable VIRTIO_NET_F_CTRL_RX
  create vhost_cuse directory and move vhost-net-cdev.c into vhost_cuse
  rename vhost-net-cdev.h to vhost-net.h
  move fd copying(from qemu process into vhost process) to eventfd_copy.c
  copy host_memory_map from virtio-net.c to a new file virtio-net-cdev.c
  make host_memory_map more generic
  split set_memory_table into two parts
  add select based event driven processing
  free memory when receive new set_memory_table message
  vhost user support
  support dev->ifname in vhost-user
  support calling rte_vhost_driver_register after rte_vhost_driver_session_start

 lib/librte_vhost/Makefile                     |   8 +-
 lib/librte_vhost/rte_virtio_net.h             |   5 +-
 lib/librte_vhost/vhost-net-cdev.c             | 389 ---------------------
 lib/librte_vhost/vhost-net-cdev.h             | 113 -------
 lib/librte_vhost/vhost-net.h                  | 121 +++++++
 lib/librte_vhost/vhost_cuse/eventfd_copy.c    |  89 +++++
 lib/librte_vhost/vhost_cuse/eventfd_copy.h    |  40 +++
 lib/librte_vhost/vhost_cuse/vhost-net-cdev.c  | 417 +++++++++++++++++++++++
 lib/librte_vhost/vhost_cuse/virtio-net-cdev.c | 401 ++++++++++++++++++++++
 lib/librte_vhost/vhost_cuse/virtio-net-cdev.h |  48 +++
 lib/librte_vhost/vhost_rxtx.c                 |   2 +-
 lib/librte_vhost/vhost_user/fd_man.c          | 234 +++++++++++++
 lib/librte_vhost/vhost_user/fd_man.h          |  66 ++++
 lib/librte_vhost/vhost_user/vhost-net-user.c  | 469 ++++++++++++++++++++++++++
 lib/librte_vhost/vhost_user/vhost-net-user.h  | 106 ++++++
 lib/librte_vhost/vhost_user/virtio-net-user.c | 322 ++++++++++++++++++
 lib/librte_vhost/vhost_user/virtio-net-user.h |  49 +++
 lib/librte_vhost/virtio-net.c                 | 455 +++----------------------
 lib/librte_vhost/virtio-net.h                 |  43 +++
 19 files changed, 2460 insertions(+), 917 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/eventfd_copy.c
 create mode 100644 lib/librte_vhost/vhost_cuse/eventfd_copy.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

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2015-02-02  2:54 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-30  6:36 [PATCH 00/12] qemu vhost-user support Huawei Xie
     [not found] ` <1422599787-12009-1-git-send-email-huawei.xie-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-01-30  6:36   ` [PATCH 01/12] lib/librte_vhost: enable VIRTIO_NET_F_CTRL_RX Huawei Xie
     [not found]     ` <1422599787-12009-2-git-send-email-huawei.xie-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-01-30 10:03       ` Tetsuya Mukawa
     [not found]         ` <54CB56E1.1030402-AlSX/UN32fvPDbFq/vQRIQ@public.gmane.org>
2015-01-31 15:13           ` Xie, Huawei
2015-01-30  6:36   ` [PATCH 02/12] lib/librte_vhost: seperate vhost cuse driver from vhost common logic Huawei Xie
2015-01-30  6:36   ` [PATCH 03/12] lib/librte_vhost: rename vhost-net-cdev.h to vhost-net.h Huawei Xie
2015-01-30  6:36   ` [PATCH 04/12] lib/librte_vhost: move fd copying(from qemu process into vhost process) to eventfd_copy.c Huawei Xie
2015-01-30  6:36   ` [PATCH 05/12] lib/librte_vhost: copy host_memory_map from virtio-net.c to a new file virtio-net-cdev.c Huawei Xie
     [not found]     ` <1422599787-12009-6-git-send-email-huawei.xie-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-01-30 10:04       ` Tetsuya Mukawa
     [not found]         ` <54CB572B.4040409-AlSX/UN32fvPDbFq/vQRIQ@public.gmane.org>
2015-01-31 15:16           ` Xie, Huawei
     [not found]             ` <C37D651A908B024F974696C65296B57B0F37A124-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-02-01  4:04               ` Tetsuya Mukawa
2015-01-30  6:36   ` [PATCH 06/12] lib/librte_vhost: make host_memory_map more generic Huawei Xie
2015-01-30  6:36   ` [PATCH 07/12] lib/librte_vhost: split set_memory_table into two parts Huawei Xie
2015-01-30  6:36   ` [PATCH 08/12] lib/librte_vhost: add select based event driven processing Huawei Xie
2015-01-30  6:36   ` [PATCH 09/12] lib/librte_vhost: free memory when receive new set_memory_table message in vhost-cuse Huawei Xie
2015-01-30  6:36   ` [PATCH 10/12] lib/librte_vhost: vhost user support Huawei Xie
     [not found]     ` <1422599787-12009-11-git-send-email-huawei.xie-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-02-02  2:54       ` Tetsuya Mukawa
2015-01-30  6:36   ` [PATCH 11/12] lib/librte_vhost: set dev->ifname in vhost-user Huawei Xie
2015-01-30  6:36   ` [PATCH 12/12] lib/librte_vhost: support calling rte_vhost_driver_register after rte_vhost_driver_session_start Huawei Xie
2015-01-30 10:02   ` [PATCH 00/12] qemu vhost-user support Tetsuya Mukawa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.