From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry van Haaren Subject: [PATCH v6 00/21] next-eventdev: event/sw software eventdev Date: Thu, 30 Mar 2017 00:25:42 +0100 Message-ID: <1490829963-106807-1-git-send-email-harry.van.haaren@intel.com> References: <1490374395-149320-1-git-send-email-harry.van.haaren@intel.com> Cc: jerin.jacob@caviumnetworks.com, Harry van Haaren To: dev@dpdk.org Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 9CAD69E3 for ; Thu, 30 Mar 2017 01:26:17 +0200 (CEST) In-Reply-To: <1490374395-149320-1-git-send-email-harry.van.haaren@intel.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 is the v6 patchset of the software eventdev PMD. Changes include the following, see patch for context and details; - Remove enq/deq checks already performed by eventdev layer (Jerin) - Fix error printf() to use SW_LOG_ERR instead (Jerin) - Add rte_smp_wmb() to ensure writes completed before access (Jerin) - Remove (void *) casts that are not required (Jerin) - Set rte_errno as appropriate if port link not established (Jerin) - Added check for secondary process (Jerin) - Added unlikely() to error checking branches (Jerin) - Removed event dequeue with NULL ptr check (Jerin) - Fix handling of event priority normalization - Removed printf() using SW_LOG_ERR instead (Jerin) - Added rte_smp_wmb() to start() and stop() (Jerin) - Improved error return values from start() (Jerin) - Fix QOS to QoS typo (Jerin) - Add to section on dequeue timeout to limitations (Jerin) - Fix return value to "return ret" instead of -ENOTSUP (Jerin) - Fix value handling for sched quanta, credits and NUMA node (Jerin) - Add check for per dequeue timeout config, return -ENOTSUP if so (Jerin) A new patch was added 01/21 to improve the eventdev API documentation regarding the return values for the start API. There are 7 checkpatch warnings, - 2 complex macros (cannot be resolved) - 4 long lines (resolving makes code more obfuscated) - 1 unecessary else (false positive) Cheers, -Harry Bruce Richardson (12): 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 Harry van Haaren (9): eventdev: improve API docs for start function test/eventdev: pass timeout ticks unsupported test/eventdev: add SW test infrastructure test/eventdev: add basic SW tests test/eventdev: add SW tests for load balancing test/eventdev: add SW xstats tests test/eventdev: add SW deadlock tests doc: add event device and software eventdev maintainers: add eventdev section and claim SW PMD MAINTAINERS | 9 + config/common_base | 6 + doc/guides/eventdevs/index.rst | 40 + doc/guides/eventdevs/sw.rst | 157 ++ doc/guides/index.rst | 1 + 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 | 828 +++++++ drivers/event/sw/sw_evdev.h | 318 +++ drivers/event/sw/sw_evdev_scheduler.c | 601 +++++ drivers/event/sw/sw_evdev_worker.c | 183 ++ drivers/event/sw/sw_evdev_xstats.c | 674 ++++++ lib/librte_eventdev/rte_eventdev.h | 3 +- mk/rte.app.mk | 1 + test/test/Makefile | 5 +- test/test/autotest_data.py | 26 + test/test/test_eventdev.c | 5 +- test/test/test_eventdev_sw.c | 3188 +++++++++++++++++++++++++ 21 files changed, 6475 insertions(+), 4 deletions(-) create mode 100644 doc/guides/eventdevs/index.rst create mode 100644 doc/guides/eventdevs/sw.rst 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 create mode 100644 test/test/test_eventdev_sw.c -- 2.7.4