From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jianfeng Tan Subject: [PATCH 00/12] support to run vdev in the secondary process Date: Fri, 25 Aug 2017 09:40:40 +0000 Message-ID: <1503654052-84730-1-git-send-email-jianfeng.tan@intel.com> Cc: bruce.richardson@intel.com, konstantin.ananyev@intel.com, pablo.de.lara.guarch@intel.com, thomas@monjalon.net, yliu@fridaylinux.org, maxime.coquelin@redhat.com, mtetsuyah@gmail.com, ferruh.yigit@intel.com, Jianfeng Tan To: dev@dpdk.org Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 940EF7CEE for ; Fri, 25 Aug 2017 11:39:15 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Patch 1~5: move vdev bus into drivers/bus. Patch 6: add unix socket channel for primary/secondary communication. Patch 7~8: make use of the channel to discover and probe virtual devices the primary process. Patch 9~12: support to run vhost-pmd in the secondary process. How to test: Step 1: run helloworld as the primary process. $ ./helloworld -l 1-2 --vdev 'net_vhost0,iface=/tmp/sock0' -- Step 2: run testpmd as the secondary process. $ ./testpmd -l 3-4 --proc-type=secondary -- -i Step 3: start VM. $ ./qemu-system-x86_64 ... -chardev socket,id=chr4,path=/tmp/sock0 ... Jianfeng Tan (12): cryptodev: remove crypto vdev init eal: avoid calling rte_vdev_init() crypto: move vdev helper functions into dedicated file vdev: move to drivers/bus bus/vdev: change log type from EAL to PMD eal: add channel for primary/secondary communication bus/vdev: scan and probe vdev in secondary processes ethdev: support attach vdev in secondary process vhost: allocate virtio_net in memzone vhost: support to kick in secondary process net/vhost: support to run in the secondary process examples/helloworld: do not exit automatically config/common_base | 5 + doc/guides/rel_notes/deprecation.rst | 5 - drivers/bus/Makefile | 2 + drivers/bus/vdev/Makefile | 57 +++ drivers/bus/vdev/rte_bus_vdev_version.map | 10 + drivers/bus/vdev/rte_cryptodev_vdev.c | 154 ++++++++ drivers/bus/vdev/rte_cryptodev_vdev.h | 100 ++++++ drivers/bus/vdev/rte_vdev.h | 153 ++++++++ drivers/bus/vdev/vdev.c | 440 +++++++++++++++++++++++ drivers/bus/vdev/vdev_logs.h | 40 +++ drivers/net/vhost/rte_eth_vhost.c | 158 ++++++++- examples/helloworld/main.c | 3 + lib/librte_cryptodev/Makefile | 1 - lib/librte_cryptodev/rte_cryptodev.c | 6 - lib/librte_cryptodev/rte_cryptodev.h | 18 - lib/librte_cryptodev/rte_cryptodev_pmd.c | 120 ------- lib/librte_cryptodev/rte_cryptodev_vdev.h | 100 ------ lib/librte_cryptodev/rte_cryptodev_version.map | 1 - lib/librte_eal/bsdapp/eal/Makefile | 1 - lib/librte_eal/bsdapp/eal/rte_eal_version.map | 8 + lib/librte_eal/common/Makefile | 2 +- lib/librte_eal/common/eal_common_dev.c | 21 +- lib/librte_eal/common/eal_common_proc.c | 454 ++++++++++++++++++++++++ lib/librte_eal/common/eal_common_vdev.c | 342 ------------------ lib/librte_eal/common/eal_filesystem.h | 18 + lib/librte_eal/common/eal_private.h | 10 + lib/librte_eal/common/include/rte_dev.h | 24 +- lib/librte_eal/common/include/rte_eal.h | 74 ++++ lib/librte_eal/common/include/rte_vdev.h | 131 ------- lib/librte_eal/linuxapp/eal/Makefile | 1 - lib/librte_eal/linuxapp/eal/eal.c | 6 + lib/librte_eal/linuxapp/eal/rte_eal_version.map | 8 + lib/librte_ether/rte_ethdev_vdev.h | 26 +- lib/librte_vhost/rte_vhost.h | 3 + lib/librte_vhost/socket.c | 2 + lib/librte_vhost/vhost.c | 61 +++- lib/librte_vhost/vhost.h | 7 +- lib/librte_vhost/vhost_user.c | 4 +- mk/rte.app.mk | 1 + 39 files changed, 1781 insertions(+), 796 deletions(-) create mode 100644 drivers/bus/vdev/Makefile create mode 100644 drivers/bus/vdev/rte_bus_vdev_version.map create mode 100644 drivers/bus/vdev/rte_cryptodev_vdev.c create mode 100644 drivers/bus/vdev/rte_cryptodev_vdev.h create mode 100644 drivers/bus/vdev/rte_vdev.h create mode 100644 drivers/bus/vdev/vdev.c create mode 100644 drivers/bus/vdev/vdev_logs.h delete mode 100644 lib/librte_cryptodev/rte_cryptodev_vdev.h delete mode 100644 lib/librte_eal/common/eal_common_vdev.c delete mode 100644 lib/librte_eal/common/include/rte_vdev.h -- 2.7.4