From patchwork Thu Oct 17 06:38:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Mattias_R=C3=B6nnblom?= X-Patchwork-Id: 146150 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 360D545B5A; Thu, 17 Oct 2024 08:49:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AFFF7409FA; Thu, 17 Oct 2024 08:48:13 +0200 (CEST) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2045.outbound.protection.outlook.com [40.107.103.45]) by mails.dpdk.org (Postfix) with ESMTP id D5B93402DB for ; Thu, 17 Oct 2024 08:47:58 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PjTdncDqY8g8qXLywPG9O5Hm2xxsj+3pmVfTWKEL1BV4jQtTnF3eIrBL/NJ/jK13owCgvB3ii19saqJ525osLorkwzo6xz6iPaX90koF/j/6g5VlsrkQyTonzUZ0WSFNBlcefJ2EYUyVoilBfoivHEAp0eePbVq/DPoO+dYAiMumslKOjepb6hewmGfyCjHNWsMgeSUZI0I8XSZHZsnL0hHjxGr6yU3J59DhnO8tgEGIW6FLzaIeP9Deu/OF/tRdU93237K8m9fef8dVznQf0ScsLXlZEvuhqak8f4Mwt6822H2nwJHMfun2MHhETwXBZUTBXuQvEjYQZXYlofpDBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=usNNQkXk7T27fUIikXg1P3RaSXdryxT8v44RKa4t/Iw=; b=NFq8xf/jKf2Ic1C5CvcAo6VhGMheuus5YrRy9fyElOZWvfkL2LNM9YrGVAxBgl+FiVq8r8BwAvjFZaHiqsP1m8gIRq57TsXYtE+pdt943MNVB6kVwEJS4KN21KX0uSHLGiNKmotvY2JWAPa1hyV1A10jena0m8rcWk95u06l6wW+0TfQTXenLaeMGQ88qqMoqQGjcYIXwop9YRrWKjSMXmUiYNiZ+Ds5xX9yoSPeMGcOs53eGDE1HupxXLHjos76HJ2KvPPfJqTTjqxJNnWZwSsihy+Liukh0ZLj71372zHmH1IZYat4ux4tRGedJjgv1O41jdgBC+3x8e3FNB+QEQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 192.176.1.74) smtp.rcpttodomain=dpdk.org smtp.mailfrom=ericsson.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=ericsson.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=usNNQkXk7T27fUIikXg1P3RaSXdryxT8v44RKa4t/Iw=; b=yn1cOnJ7zQYwLm1Ui98br7Qq0M2S1am3Q+95z8lVHs/s/FF1bhlCeSRo+QgI+4AvQ7y8w9OwqexdL4z2IdTKwEB0rQEb9pucOnRLnnmLnxLfM5lClmGB56AZioUMBMEB0Vaa41F7szW4cBi6hwnR0en0JCPro3FG7jWNgfRErl0xAU42awY//C8oMlJEH8FyYl7g4WZCb14GSnXyV0Z+BnuwxGTqtbSlYXOn40gaNwukjvdeUVbFQals6HkdeRLzBvyxTYCnQhW/2RtLvGmFz3csPagxs7X+PPwsAjYaTYe6KnyplqsChKdZ3vHPB/2aVksbB34YjV+kRXcZ/Sfgyg== Received: from DU6P191CA0010.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::7) by DB9PR07MB7195.eurprd07.prod.outlook.com (2603:10a6:10:218::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.18; Thu, 17 Oct 2024 06:47:55 +0000 Received: from DU2PEPF00028CFC.eurprd03.prod.outlook.com (2603:10a6:10:540:cafe::c7) by DU6P191CA0010.outlook.office365.com (2603:10a6:10:540::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.19 via Frontend Transport; Thu, 17 Oct 2024 06:47:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 192.176.1.74) smtp.mailfrom=ericsson.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=ericsson.com; Received-SPF: Pass (protection.outlook.com: domain of ericsson.com designates 192.176.1.74 as permitted sender) receiver=protection.outlook.com; client-ip=192.176.1.74; helo=oa.msg.ericsson.com; pr=C Received: from oa.msg.ericsson.com (192.176.1.74) by DU2PEPF00028CFC.mail.protection.outlook.com (10.167.242.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.17 via Frontend Transport; Thu, 17 Oct 2024 06:47:55 +0000 Received: from seliicinfr00050.seli.gic.ericsson.se (153.88.142.248) by smtp-central.internal.ericsson.com (100.87.178.65) with Microsoft SMTP Server id 15.2.1544.11; Thu, 17 Oct 2024 08:47:52 +0200 Received: from breslau.. (seliicwb00002.seli.gic.ericsson.se [10.156.25.100]) by seliicinfr00050.seli.gic.ericsson.se (Postfix) with ESMTP id 2AC7C1C0070; Thu, 17 Oct 2024 08:47:52 +0200 (CEST) From: =?utf-8?q?Mattias_R=C3=B6nnblom?= To: Jerin Jacob CC: , =?utf-8?q?Mattias_R=C3=B6nnblom?= , David Marchand , "Stephen Hemminger" , Anoob Joseph , Hemant Agrawal , Sachin Saxena , Abdullah Sevincer , Pavan Nikhilesh , Shijith Thotton , Harry van Haaren , =?utf-8?q?Mattias_R=C3=B6nnb?= =?utf-8?q?lom?= Subject: [RFC v3 10/10] eventdev: remove single event enqueue and dequeue Date: Thu, 17 Oct 2024 08:38:42 +0200 Message-ID: <20241017063842.848360-11-mattias.ronnblom@ericsson.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241017063842.848360-1-mattias.ronnblom@ericsson.com> References: <20241015182535.825098-2-mattias.ronnblom@ericsson.com> <20241017063842.848360-1-mattias.ronnblom@ericsson.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PEPF00028CFC:EE_|DB9PR07MB7195:EE_ X-MS-Office365-Filtering-Correlation-Id: 348482bc-6a4f-418f-dbf9-08dcee77a115 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|7416014|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?q?JCwits/Yu7FyayVrV0EmyuonmK/uIuW?= =?utf-8?q?o3TuEJhixmkW6Z4XkKnk7W2vfWve6YY0YEH47Xrj3ajgQlAgiJO5+HEz5hVmuMXUs?= =?utf-8?q?uH4y9VTmkcb9WSwrHSHFSlrICGK+wQB9fIL4hbBFOzxCsTMjGRQIShT752dWCnxnN?= =?utf-8?q?qPTLmIvJmpXabkyAVIGU/oceDRQ4NNDr5JLPhCs6gr97nvwVkglwbRiLilWpCcM85?= =?utf-8?q?p5wLwCqY68vE7CjM5gQzQzz/7/eWLJ9ZEvELigKaBvOTwdFx+ZQacCQbYvo8VYgA1?= =?utf-8?q?mFywVSthiHEPSaWCi5bteM473ara567wDoh1+t03pWdubRua4OLTUYvRJCfp0ll0B?= =?utf-8?q?ZFO27mM1QyBl9pHJAuhH/SSOkKzhl22wIqo5w4sX+SBTQSH4Nrvc+VyztZ3fyfx8g?= =?utf-8?q?UjvAsRhCmVeqofMfFnoItbZusUua+w4t8CiC2Zvxp7GQCPqL9zF0MsXwMi08lRvWu?= =?utf-8?q?GObPT/nSM4Zz5FgyP7RSyuuw4Hig/Sz+wHjPDfV/sKCYeTIWczV4xC0FJ0dDUSawC?= =?utf-8?q?TLzDdqdjWH737C4gQ8rHIe03nosQfal96fK/oFzLCNjSataulK6NaaZBk6tKrI/Ir?= =?utf-8?q?rbx8TznTwdV7Q7I5I3oqy4wBKqaxNxjPzcRoIAXzPc7vYOLIOc3LHyO5qwyBo7thz?= =?utf-8?q?1q40Uo+3rGNfyAAkW08kzhVty8XerxO4VHu/5K5DlNDxMz2Y1iaN8qYE9TlaiYBOb?= =?utf-8?q?poj+GAsUCCQIlMnCTOn9tV45RNChSHg6q7dadK3njHLwcPzYMwXcfO1W00u9TI193?= =?utf-8?q?TIIyTPze2Gzl6/vmP+shDKi0FPuLT48Kw/RL52vcQdVVgAKDezC+0uGIcxlT3Okqc?= =?utf-8?q?jZGdAAjkbpu671PcUJZXZs1zONWmSFqLLcwOvhHyqhPZs/YJJDm3quX7QRGuZSs+P?= =?utf-8?q?nnF3gggaotuZc0djVReRToFbytnRULdzcQenArWPOieNdwck97Y7MnEkUEyFxWbpX?= =?utf-8?q?7IDDObRpdZrpOzc7+UsugdBLktDq6aRgyzBZvemZo++r+0KC3N+ahGoZsoxYFLitc?= =?utf-8?q?jrJzHnHTGljzcOALMfpBaZRgFN1VSb6SBOix2hnMgOpwsMZJrSFFXB2UiW2ds11/Q?= =?utf-8?q?zP3yDwTc9YKpOqN0Z1zafDmyuOT2JRA2mmoppLOwIwOeB2HadGomC+U3WnWdfXt3J?= =?utf-8?q?UEZETX0IAXhwmaoLSnsSDOtmTXiimV1aU8bbT7veCnMdLElnOaoesB0QT0wvEh7ne?= =?utf-8?q?KVAmybhCbws4BWfEoRBFH1jBLKpSbpxJbckfCrem9kYVPuq12VCC1ldNcVyFOTITb?= =?utf-8?q?kSGF4E79Y94MAgkJDnpx1EccFa7GPnm6IbfP0BHd9je7/w4g7D4u3hXoWscH+0zgG?= =?utf-8?q?gPfV/K6FdvRw1b4dv/G8gwfRLoV1Gpsi/w=3D=3D?= X-Forefront-Antispam-Report: CIP:192.176.1.74; CTRY:SE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:oa.msg.ericsson.com; PTR:office365.se.ericsson.net; CAT:NONE; SFS:(13230040)(1800799024)(7416014)(36860700013)(376014)(82310400026); DIR:OUT; SFP:1101; X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2024 06:47:55.0069 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 348482bc-6a4f-418f-dbf9-08dcee77a115 X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=92e84ceb-fbfd-47ab-be52-080c6b87953f; Ip=[192.176.1.74]; Helo=[oa.msg.ericsson.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF00028CFC.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR07MB7195 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Remove the single event enqueue and dequeue, since they did not provide any noticeable performance benefits. This is a change of the ABI, previously announced as a deprecation notice. These functions were not directly invoked by the application, so the API remains unaffected. Signed-off-by: Mattias Rönnblom --- RFC v3: * Update release notes. (Jerin Jacob) * Remove single-event enqueue and dequeue function typedefs. (Pavan Nikhilesh) --- doc/guides/rel_notes/deprecation.rst | 6 +----- doc/guides/rel_notes/release_24_11.rst | 3 +++ lib/eventdev/eventdev_pmd.h | 4 ---- lib/eventdev/eventdev_private.c | 22 ---------------------- lib/eventdev/rte_eventdev.h | 21 ++++----------------- lib/eventdev/rte_eventdev_core.h | 11 ----------- 6 files changed, 8 insertions(+), 59 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 20fcfedb7b..f501923fb5 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -173,11 +173,7 @@ Deprecation Notices * eventdev: The single-event (non-burst) enqueue and dequeue operations, used by static inline burst enqueue and dequeue functions in ``rte_eventdev.h``, - will be removed in DPDK 23.11. - This simplification includes changing the layout and potentially also - the size of the public ``rte_event_fp_ops`` struct, breaking the ABI. - Since these functions are not called directly by the application, - the API remains unaffected. + are removed in DPDK 24.11. * pipeline: The pipeline library legacy API (functions rte_pipeline_*) will be deprecated and subsequently removed in DPDK 24.11 release. diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst index acc512c70a..d356e1edc5 100644 --- a/doc/guides/rel_notes/release_24_11.rst +++ b/doc/guides/rel_notes/release_24_11.rst @@ -323,6 +323,9 @@ ABI Changes * eventdev: Added ``preschedule_type`` field to ``rte_event_dev_config`` structure. +* eventdev: The PMD single-event enqueue and dequeue function pointers are removed + from ``rte_event_fp_fps``. + * graph: To accommodate node specific xstats counters, added ``xstat_cntrs``, ``xstat_desc`` and ``xstat_count`` to ``rte_graph_cluster_node_stats``, added new structure ``rte_node_xstats`` to ``rte_node_register`` and diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h index af855e3467..36148f8d86 100644 --- a/lib/eventdev/eventdev_pmd.h +++ b/lib/eventdev/eventdev_pmd.h @@ -158,16 +158,12 @@ struct __rte_cache_aligned rte_eventdev { uint8_t attached : 1; /**< Flag indicating the device is attached */ - event_enqueue_t enqueue; - /**< Pointer to PMD enqueue function. */ event_enqueue_burst_t enqueue_burst; /**< Pointer to PMD enqueue burst function. */ event_enqueue_burst_t enqueue_new_burst; /**< Pointer to PMD enqueue burst function(op new variant) */ event_enqueue_burst_t enqueue_forward_burst; /**< Pointer to PMD enqueue burst function(op forward variant) */ - event_dequeue_t dequeue; - /**< Pointer to PMD dequeue function. */ event_dequeue_burst_t dequeue_burst; /**< Pointer to PMD dequeue burst function. */ event_maintain_t maintain; diff --git a/lib/eventdev/eventdev_private.c b/lib/eventdev/eventdev_private.c index b628f4a69e..6df129fc2d 100644 --- a/lib/eventdev/eventdev_private.c +++ b/lib/eventdev/eventdev_private.c @@ -5,15 +5,6 @@ #include "eventdev_pmd.h" #include "rte_eventdev.h" -static uint16_t -dummy_event_enqueue(__rte_unused void *port, - __rte_unused const struct rte_event *ev) -{ - RTE_EDEV_LOG_ERR( - "event enqueue requested for unconfigured event device"); - return 0; -} - static uint16_t dummy_event_enqueue_burst(__rte_unused void *port, __rte_unused const struct rte_event ev[], @@ -24,15 +15,6 @@ dummy_event_enqueue_burst(__rte_unused void *port, return 0; } -static uint16_t -dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev, - __rte_unused uint64_t timeout_ticks) -{ - RTE_EDEV_LOG_ERR( - "event dequeue requested for unconfigured event device"); - return 0; -} - static uint16_t dummy_event_dequeue_burst(__rte_unused void *port, __rte_unused struct rte_event ev[], @@ -129,11 +111,9 @@ event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op) { static void *dummy_data[RTE_MAX_QUEUES_PER_PORT]; static const struct rte_event_fp_ops dummy = { - .enqueue = dummy_event_enqueue, .enqueue_burst = dummy_event_enqueue_burst, .enqueue_new_burst = dummy_event_enqueue_burst, .enqueue_forward_burst = dummy_event_enqueue_burst, - .dequeue = dummy_event_dequeue, .dequeue_burst = dummy_event_dequeue_burst, .maintain = dummy_event_maintain, .txa_enqueue = dummy_event_tx_adapter_enqueue, @@ -153,11 +133,9 @@ void event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op, const struct rte_eventdev *dev) { - fp_op->enqueue = dev->enqueue; fp_op->enqueue_burst = dev->enqueue_burst; fp_op->enqueue_new_burst = dev->enqueue_new_burst; fp_op->enqueue_forward_burst = dev->enqueue_forward_burst; - fp_op->dequeue = dev->dequeue; fp_op->dequeue_burst = dev->dequeue_burst; fp_op->maintain = dev->maintain; fp_op->txa_enqueue = dev->txa_enqueue; diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h index b5c3c16dd0..fabd1490db 100644 --- a/lib/eventdev/rte_eventdev.h +++ b/lib/eventdev/rte_eventdev.h @@ -2596,14 +2596,8 @@ __rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id, } #endif rte_eventdev_trace_enq_burst(dev_id, port_id, ev, nb_events, (void *)fn); - /* - * Allow zero cost non burst mode routine invocation if application - * requests nb_events as const one - */ - if (nb_events == 1) - return (fp_ops->enqueue)(port, ev); - else - return fn(port, ev, nb_events); + + return fn(port, ev, nb_events); } /** @@ -2852,15 +2846,8 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[], } #endif rte_eventdev_trace_deq_burst(dev_id, port_id, ev, nb_events); - /* - * Allow zero cost non burst mode routine invocation if application - * requests nb_events as const one - */ - if (nb_events == 1) - return (fp_ops->dequeue)(port, ev, timeout_ticks); - else - return (fp_ops->dequeue_burst)(port, ev, nb_events, - timeout_ticks); + + return (fp_ops->dequeue_burst)(port, ev, nb_events, timeout_ticks); } #define RTE_EVENT_DEV_MAINT_OP_FLUSH (1 << 0) diff --git a/lib/eventdev/rte_eventdev_core.h b/lib/eventdev/rte_eventdev_core.h index 2706d5e6c8..1818483044 100644 --- a/lib/eventdev/rte_eventdev_core.h +++ b/lib/eventdev/rte_eventdev_core.h @@ -12,18 +12,11 @@ extern "C" { #endif -typedef uint16_t (*event_enqueue_t)(void *port, const struct rte_event *ev); -/**< @internal Enqueue event on port of a device */ - typedef uint16_t (*event_enqueue_burst_t)(void *port, const struct rte_event ev[], uint16_t nb_events); /**< @internal Enqueue burst of events on port of a device */ -typedef uint16_t (*event_dequeue_t)(void *port, struct rte_event *ev, - uint64_t timeout_ticks); -/**< @internal Dequeue event from port of a device */ - typedef uint16_t (*event_dequeue_burst_t)(void *port, struct rte_event ev[], uint16_t nb_events, uint64_t timeout_ticks); @@ -60,16 +53,12 @@ typedef void (*event_preschedule_t)(void *port, struct __rte_cache_aligned rte_event_fp_ops { void **data; /**< points to array of internal port data pointers */ - event_enqueue_t enqueue; - /**< PMD enqueue function. */ event_enqueue_burst_t enqueue_burst; /**< PMD enqueue burst function. */ event_enqueue_burst_t enqueue_new_burst; /**< PMD enqueue burst new function. */ event_enqueue_burst_t enqueue_forward_burst; /**< PMD enqueue burst fwd function. */ - event_dequeue_t dequeue; - /**< PMD dequeue function. */ event_dequeue_burst_t dequeue_burst; /**< PMD dequeue burst function. */ event_maintain_t maintain;