From patchwork Fri Sep 11 16:58:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy McDaniel X-Patchwork-Id: 77463 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3D07FA04BB; Fri, 11 Sep 2020 19:02:06 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3F49D1B9B7; Fri, 11 Sep 2020 19:02:05 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 5FD93E07 for ; Fri, 11 Sep 2020 19:02:03 +0200 (CEST) IronPort-SDR: b01uMjYST6Iob1zXXQuXSQ1C8rnrJrOaq04urH03H+t1puQPEFhbI/NYaWEvpHEuRoaJhLdtuU iokTZReh27/A== X-IronPort-AV: E=McAfee;i="6000,8403,9741"; a="158842799" X-IronPort-AV: E=Sophos;i="5.76,416,1592895600"; d="scan'208";a="158842799" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Sep 2020 10:01:57 -0700 IronPort-SDR: KDy/KLVZeU/lyf1m2mpqb2zCu8G+RceioKy22lBnIEUF4bVXmvhaGOd0CX5IQD+9oi4sT+b/qF Bkets04ZBv6Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,416,1592895600"; d="scan'208";a="329841913" Received: from txasoft-yocto.an.intel.com ([10.123.72.192]) by fmsmga004.fm.intel.com with ESMTP; 11 Sep 2020 10:01:56 -0700 From: Timothy McDaniel To: Cc: jerinj@marvell.com, mattias.ronnblom@ericsson.com, liang.j.ma@intel.com, peter.mccarthy@intel.com, nipun.gupta@nxp.com, pbhagavatula@marvell.com, dev@dpdk.org, erik.g.carrillo@intel.com, gage.eads@intel.com, harry.van.haaren@intel.com, hemant.agrawal@nxp.com, bruce.richardson@intel.com Date: Fri, 11 Sep 2020 11:58:25 -0500 Message-Id: <1599843507-19970-1-git-send-email-timothy.mcdaniel@intel.com> X-Mailer: git-send-email 1.7.10 Subject: [dpdk-dev] [PATCH 0/2] Eventdev ABI changes 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This series implements the eventdev ABI changes required by the DLB and DLB2 PMDs. This ABI change was announced in the 20.08 release notes [1]. This patch was initially part of the V1 DLB PMD patchset. The DLB hardware does not conform exactly to the eventdev interface. 1) It has a limit on the number of queues that may be linked to a port. 2) Some ports are further restricted to a maximum of 1 linked queue. 3) It does not (currently) have the ability to carry the flow_id as part of the event (QE) payload. Due to the above, we would like to propose the following enhancements. 1) Add new fields to the rte_event_dev_info struct. These fields allow the device to advertise its capabilities so that applications can take the appropriate actions based on those capabilities. 2) Add a new field to the rte_event_dev_config struct. This field allows the application to specify how many of its ports are limited to a single link, or will be used in single link mode. 3) Replace the dedicated implicit_release_disabled field with a bit field of explicit port capabilities. The implicit_release_disable functionality is assigned to one bit, and a port-is-single-link-only attribute is assigned to another, with the remaining bits available for future assignment. Note that it was requested that we split this app/test changes out from the eventdev ABI changes. As a result, neither of these patches will bujild without the other also being applied. [1] http://mails.dpdk.org/archives/dev/2020-August/177261.html Timothy McDaniel (2): eventdev: implement ABI change eventdev: update app and examples for new eventdev ABI app/test-eventdev/evt_common.h | 11 ++++ app/test-eventdev/test_order_atq.c | 30 +++++++--- app/test-eventdev/test_order_common.c | 1 + app/test-eventdev/test_order_queue.c | 31 +++++++--- app/test/test_eventdev.c | 4 +- drivers/event/dpaa/dpaa_eventdev.c | 3 +- drivers/event/dpaa2/dpaa2_eventdev.c | 5 +- drivers/event/dsw/dsw_evdev.c | 3 +- drivers/event/octeontx/ssovf_evdev.c | 5 +- drivers/event/octeontx2/otx2_evdev.c | 3 +- drivers/event/opdl/opdl_evdev.c | 3 +- drivers/event/skeleton/skeleton_eventdev.c | 5 +- drivers/event/sw/sw_evdev.c | 8 ++- drivers/event/sw/sw_evdev_selftest.c | 6 +- .../eventdev_pipeline/pipeline_worker_generic.c | 6 +- examples/eventdev_pipeline/pipeline_worker_tx.c | 1 + examples/l2fwd-event/l2fwd_event_generic.c | 7 ++- examples/l2fwd-event/l2fwd_event_internal_port.c | 6 +- examples/l3fwd/l3fwd_event_generic.c | 7 ++- examples/l3fwd/l3fwd_event_internal_port.c | 6 +- lib/librte_eventdev/rte_event_eth_tx_adapter.c | 2 +- lib/librte_eventdev/rte_eventdev.c | 66 +++++++++++++++++++--- lib/librte_eventdev/rte_eventdev.h | 51 ++++++++++++++--- lib/librte_eventdev/rte_eventdev_pmd_pci.h | 1 - lib/librte_eventdev/rte_eventdev_trace.h | 7 ++- lib/librte_eventdev/rte_eventdev_version.map | 4 +- 26 files changed, 218 insertions(+), 64 deletions(-)