From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 0887C374F for ; Fri, 10 Mar 2017 20:43:43 +0100 (CET) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP; 10 Mar 2017 11:43:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,142,1486454400"; d="scan'208";a="1121055536" Received: from silpixa00398672.ir.intel.com ([10.237.223.128]) by fmsmga001.fm.intel.com with ESMTP; 10 Mar 2017 11:43:41 -0800 From: Harry van Haaren To: dev@dpdk.org Cc: jerin.jacob@caviumnetworks.com, Harry van Haaren Date: Fri, 10 Mar 2017 19:43:15 +0000 Message-Id: <1489175012-101439-1-git-send-email-harry.van.haaren@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1487343252-16092-1-git-send-email-harry.van.haaren@intel.com> References: <1487343252-16092-1-git-send-email-harry.van.haaren@intel.com> Subject: [dpdk-dev] [PATCH v4 00/17] next-eventdev: event/sw software eventdev X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Mar 2017 19:43:44 -0000 The following patchset adds software eventdev implementation to the next-eventdev tree. Note that certain tests in this patchset require the queue overriding patch to pass, but it is not a build-time dependency. The main change is the reworked xstats_reset() API, which now includes a "mode" to select the Device, Port or Queue to reset. This implementation is based on the previous software eventdev v3 patchset, now with comments addressed: 1) use NULL in test link() functions (Jerin) 2) add CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV_DEBUG=n to config/common_base (Jerin) 3) xstats_names_get() return values improved 4) Fix event/sw bug in re-configuration of ports 5) Rework QUEUE_CFG_DEFAULT overriding of queue type at eventdev layer 6) Improve port unlinking to use optimized pull_port() if possible 7) Fix leak of credits on re-configuration of the device after usage 8) Improved error handling of unsupported queue types 9) Allow more flexible re-configuration of ports (lb and single-link changes) 10) Handle reconfiguring of ordered queues multiple times without errors Git log is clean, while checkpatch issues: 2 Errors on Complex Macro (which I beleive cannot be fixed) 4 Warnings in the scheduler logic, which reduce readability when fixed. 1 Else after return warning, which cannot be easily removed This patchset contains the work of multiple developers, please see signoffs on each patch. Signed-off-by: Harry van Haaren Bruce Richardson (14): eventdev: add APIs for extended stats event/sw: add new software-only eventdev driver event/sw: add device capabilities function event/sw: add configure function event/sw: add fns to return default port/queue config event/sw: add support for event queues event/sw: add support for event ports event/sw: add support for linking queues to ports event/sw: add worker core functions event/sw: add scheduling logic event/sw: add start stop and close functions event/sw: add dump function for easier debugging event/sw: add xstats support app/test: add unit tests for SW eventdev driver Harry van Haaren (3): eventdev: increase size of enq deq conf variables app/test: eventdev link all queues before start test/eventdev: rework timeout ticks test app/test/Makefile | 5 +- app/test/autotest_data.py | 26 + app/test/test_eventdev.c | 12 +- app/test/test_eventdev_sw.c | 3179 +++++++++++++++++++++++++ config/common_base | 6 + drivers/event/Makefile | 1 + drivers/event/sw/Makefile | 69 + drivers/event/sw/event_ring.h | 185 ++ drivers/event/sw/iq_ring.h | 176 ++ drivers/event/sw/rte_pmd_evdev_sw_version.map | 3 + drivers/event/sw/sw_evdev.c | 818 +++++++ drivers/event/sw/sw_evdev.h | 318 +++ drivers/event/sw/sw_evdev_scheduler.c | 602 +++++ drivers/event/sw/sw_evdev_worker.c | 188 ++ drivers/event/sw/sw_evdev_xstats.c | 674 ++++++ lib/librte_eventdev/rte_eventdev.c | 83 + lib/librte_eventdev/rte_eventdev.h | 148 +- lib/librte_eventdev/rte_eventdev_pmd.h | 74 + lib/librte_eventdev/rte_eventdev_version.map | 4 + mk/rte.app.mk | 1 + 20 files changed, 6567 insertions(+), 5 deletions(-) create mode 100644 app/test/test_eventdev_sw.c create mode 100644 drivers/event/sw/Makefile create mode 100644 drivers/event/sw/event_ring.h create mode 100644 drivers/event/sw/iq_ring.h create mode 100644 drivers/event/sw/rte_pmd_evdev_sw_version.map create mode 100644 drivers/event/sw/sw_evdev.c create mode 100644 drivers/event/sw/sw_evdev.h create mode 100644 drivers/event/sw/sw_evdev_scheduler.c create mode 100644 drivers/event/sw/sw_evdev_worker.c create mode 100644 drivers/event/sw/sw_evdev_xstats.c -- 2.7.4