From mboxrd@z Thu Jan 1 00:00:00 1970 From: Allain Legacy Subject: [PATCH v3 00/16] Wind River Systems AVP PMD Date: Wed, 1 Mar 2017 19:19:52 -0500 Message-ID: <1488414008-162839-1-git-send-email-allain.legacy@windriver.com> References: <1488136143-116389-1-git-send-email-allain.legacy@windriver.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , , , , To: Return-path: Received: from mail5.wrs.com (mail5.windriver.com [192.103.53.11]) by dpdk.org (Postfix) with ESMTP id 536052B86 for ; Thu, 2 Mar 2017 01:20:21 +0100 (CET) In-Reply-To: <1488136143-116389-1-git-send-email-allain.legacy@windriver.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" This patch series submits an initial version of the AVP PMD from Wind River Systems. The series includes shared header files, driver implementation, and changes to documentation files in support of this new driver. The AVP driver is a shared memory based device. It is intended to be used as a PMD within a virtual machine running on a Wind River virtualization platform. See: http://www.windriver.com/products/titanium-cloud/ It enables optimized packet throughput without requiring any packet processing in qemu. This allowed us to provide our customers with a significant performance increase for both DPDK and non-DPDK applications in the VM. Since our AVP implementation supports VM live-migration it is viewed as a better alternative to PCI passthrough or PCI SRIOV since neither of those support VM live-migration without manual intervention or significant performance penalties. Since the initial implementation of AVP devices, vhost-user has become part of the qemu offering with a significant performance increase over the original virtio implementation. However, vhost-user still does not achieve the level of performance that the AVP device can provide to our customers for DPDK based guests. A number of our customers have requested that we upstream the driver to dpdk.org. v2: * Fixed coding style violations that slipped in accidentally because of an out of date checkpatch.pl from an older kernel. v3: * Updated 17.05 release notes to add a section for this new PMD * Added additional info to the AVP nic guide document to clarify the benefit of using AVP over virtio. * Fixed spelling error in debug log missed by local checkpatch.pl version * Split the transmit patch to separate the stats functions as they accidentally got squashed in the last patchset. * Fixed debug log strings so that they exceed 80 characters rather than span multiple lines. * Renamed RTE_AVP_* defines that were in avp_ethdev.h to be AVP_* instead * Replaced usage of RTE_WRITE32 and RTE_READ32 with rte_write32_relaxed and rte_read32_relaxed. * Declared rte_pci_id table as const Allain Legacy (16): config: added attributes for the AVP PMD net/avp: added public header files maintainers: claim responsibility for AVP PMD net/avp: added PMD version map file net/avp: added log macros drivers/net: added driver makefiles net/avp: driver registration net/avp: device initialization net/avp: device configuration net/avp: queue setup and release net/avp: packet receive functions net/avp: packet transmit functions net/avp: device statistics operations net/avp: device promiscuous functions net/avp: device start and stop operations doc: added information related to the AVP PMD MAINTAINERS | 6 + config/common_base | 10 + config/common_linuxapp | 1 + doc/guides/nics/avp.rst | 99 ++ doc/guides/nics/features/avp.ini | 17 + doc/guides/nics/index.rst | 1 + drivers/net/Makefile | 1 + drivers/net/avp/Makefile | 61 + drivers/net/avp/avp_ethdev.c | 2371 +++++++++++++++++++++++++++++++ drivers/net/avp/avp_logs.h | 59 + drivers/net/avp/rte_avp_common.h | 427 ++++++ drivers/net/avp/rte_avp_fifo.h | 157 ++ drivers/net/avp/rte_pmd_avp_version.map | 4 + mk/rte.app.mk | 1 + 14 files changed, 3215 insertions(+) create mode 100644 doc/guides/nics/avp.rst create mode 100644 doc/guides/nics/features/avp.ini create mode 100644 drivers/net/avp/Makefile create mode 100644 drivers/net/avp/avp_ethdev.c create mode 100644 drivers/net/avp/avp_logs.h create mode 100644 drivers/net/avp/rte_avp_common.h create mode 100644 drivers/net/avp/rte_avp_fifo.h create mode 100644 drivers/net/avp/rte_pmd_avp_version.map -- 1.8.3.1