From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 33BA445B90; Mon, 21 Oct 2024 11:16:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CBB2040BA4; Mon, 21 Oct 2024 11:16:19 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59]) by mails.dpdk.org (Postfix) with ESMTP id 2C5E84068E for ; Mon, 21 Oct 2024 11:16:15 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FbOrydjHJHyp+/UioECwRUr5M92MZ4oJ67wJcQf9d23O97gdMoZRcSfmxyvlfY3RKdYTaY0USgXI5x9i+/5xKZ1D9Umv7+dwFy3/rznukXOJ7E7DIQP+tWSgT/2aVq4Sirz6V6FBFyopbNSthrZ1ARcI5FRZhp7eIasl/Sv1uPXPlkQeFrgNL31Rxk3R1A8/TdKVobeaALWErdnFS+Lh8/RLKMrLajv/IVQEQvPIsEQog/pl+7W6DMLXC4+cY7v3j1LVfvj/QzfeEYPmIi+17QgL+3h/giSt5vTZ40wnXb+k9UhTMWCAEnUpVzrRhu0zW86qtHyTobyIlM6W87titA== 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=Ouv/KfNwli40Kf7KMb/K0BRMvagD0XvxmKl9YPg3doM=; b=mVLLrNpddDht824gUPyIqQCDAj0xbpOnF8avX2vTgdgoA22o2QqpwPZWJdaWomgD453zJKZC0pIan/dJhuEl7dH02qXOQmwwkim6k53nrVWcM1UdnM6qsVNcKFBd1mtI7eZk3DG1wvMXnD314Rz6AkWUoCduGlq8cYGHhJyPNeKBibn2RjgeyX1kLjPvUIBX+TXQqLrKLFCy0m++X43Jw+jrgy5yHmOhXpMkM885KY6BXK0hFVYTk1NdSv1+lcztlRoKtFFSprOqo4VTgA2zp8zY0JNvF++Avkeqr2OQWZhJKtSkp9hmgkx4/EoqAMHvvsG0xyccG/QOuUqY8724UQ== 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=Ouv/KfNwli40Kf7KMb/K0BRMvagD0XvxmKl9YPg3doM=; b=tgMTlkPR2hC+x/TrGkG3HgN1K627Y7cBJF6RieCeLfTGQ8blUWr7fH7DdBfY6apWfhVjx/Evgi5xlSc5OcuHjjSJdDCuW0NYRcmaZWcjWSmrVWtNnBbYTtH32qLjtSc7BjI/MEak3MrJN0e5CrEIGOcEo+zAPLNfrHXoL61SA0C2vK0EBx37Hyy/Yd3GIuqGkxzbXkm4WfNAIVuPw+s2vg0jpqfR6xlzEbviDnPLZi35HKtDUwXuZN+9TXwSfJwEQhkvzs5gTfAnQKk0Q3v08istaV/pxcUjjZej0Xa3fDJsNh9ihFvJg2WZ4unhnvazRcRdErNJmAiucnupMQ8zng== Received: from DU7P191CA0009.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:54e::13) by DU2PR07MB8046.eurprd07.prod.outlook.com (2603:10a6:10:2b7::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.28; Mon, 21 Oct 2024 09:16:11 +0000 Received: from DB5PEPF00014B99.eurprd02.prod.outlook.com (2603:10a6:10:54e:cafe::d9) by DU7P191CA0009.outlook.office365.com (2603:10a6:10:54e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.29 via Frontend Transport; Mon, 21 Oct 2024 09:16:11 +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 DB5PEPF00014B99.mail.protection.outlook.com (10.167.8.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.14 via Frontend Transport; Mon, 21 Oct 2024 09:16:11 +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; Mon, 21 Oct 2024 11:15:56 +0200 Received: from breslau.. (seliicwb00002.seli.gic.ericsson.se [10.156.25.100]) by seliicinfr00050.seli.gic.ericsson.se (Postfix) with ESMTP id 31ACC1C0098; Mon, 21 Oct 2024 11:15:56 +0200 (CEST) From: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= To: Jerin Jacob CC: , =?UTF-8?q?Mattias=20R=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=20R=C3=B6nnblom?= Subject: [PATCH 10/10] eventdev: remove single event enqueue and dequeue Date: Mon, 21 Oct 2024 11:06:53 +0200 Message-ID: <20241021090653.864237-11-mattias.ronnblom@ericsson.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241021090653.864237-1-mattias.ronnblom@ericsson.com> References: <20241017063842.848360-1-mattias.ronnblom@ericsson.com> <20241021090653.864237-1-mattias.ronnblom@ericsson.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB5PEPF00014B99:EE_|DU2PR07MB8046:EE_ X-MS-Office365-Filtering-Correlation-Id: 51ff84c9-61a6-4367-2078-08dcf1b1016b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|7416014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZG9vaHBnYzBwSk1IcWhzaHhGbG9LV21QRHJvb3R4M0FGTy9ONFFqaVdmT3NN?= =?utf-8?B?YXBLTnkzaUlhMDgyeHRTRXNxWGFkdUJxYkRwcFlmR1N5WnJXL2U4RS9RMks2?= =?utf-8?B?cEptd0EwcmVsTE44dFRjeU8vek4vTjZhSXJRTGpua2I5aExUcmRRSXdlK3RK?= =?utf-8?B?T2VMTklhYnhVMEJrOXl6Y3dGWUZzWnBNT2Zyd0xWUEI2ZVhhT2hiQVI0VEpJ?= =?utf-8?B?MUpDYlRUTEVZQVk0cjQwSU9aN2hFUHdtYUhRc1NtMTZmV0ZSRkRadXpwdnJq?= =?utf-8?B?ZXdMY1pJYjBnSHA2MmxyVlhvM0JqTm5HbHhpVUJ2RjUvWDZsdm1Ud0NHOUVT?= =?utf-8?B?WFJ3UWY5U0srYWpLV1RxeTMwK1ZnWmE2T2dLaWdDRkRhVWVtNjR5OXRHVGVJ?= =?utf-8?B?MmVyQ25LMkF2UUk0akFlM3RxY0wrYzdISXR4cVIxNGVDWENkTkJTSnZZakcx?= =?utf-8?B?ZlNBd3NRQkNldFIxaENoYk1LUmUwbDI0VFl4L0NrbndxY2IxMUFLbWh0WGdH?= =?utf-8?B?U0ozdC9zdlpGcjZtZE1nK09JZTdGeWdxT2RaVXZIdGlNUy84dUtPUmVBcTJK?= =?utf-8?B?NzlhaDV0VVdGUXZGblBKcmp1N1VCelcwbUQ2dms4ZnBVakZsS3pncEZZYzdw?= =?utf-8?B?ZEllaWRjK2lMTkJlWFhxM3dSbGkzWERyaWk3ZG5ZUjBrdEFqbUpaUHFaWjlG?= =?utf-8?B?QmhvbGxpYi9DUWlMeGtlWWZWcUI2Q2xEN05ocVFpL2tWNjlIK3pWc25HUjFp?= =?utf-8?B?YTUvbVc3RE1KN2RiQ1dTOHlRdjk2Y3lpa0p4Y25jK2NoS3k2Nmo1VWpkQlky?= =?utf-8?B?RnNjSHFhMXNKVlZlN3dwb0Zvc3lkT2ZKbHNacDVOQ29lTWJQR09MY1NCMU0v?= =?utf-8?B?RFlNVjBuei96Q0Q1cENLb2FPYWtrcURTdSt3byt4UWRGZmdFU1VLTW95UEdR?= =?utf-8?B?SHdLSlI5WVBjRk1KRG1xM1ZicUdFc3l3cjRyWFd1bWZ2cy8yL0FOU0dicEFP?= =?utf-8?B?L3FFMXNCZUl0TUpvK0Jidk8zNzNkUGd2elVrMlpWZkhvaGIxN1lCY3JteVNN?= =?utf-8?B?dHE2bjBicm01Zk10TG1nNTJ1bWEwcmw2MG9mcU02NXd6cDhBNXFHU0t5ME43?= =?utf-8?B?eUMrcVFlb0w4ODdsaENJVlVWYXZSTUZkM2NlOXJHMC9xVjNOUnNDK0ptRHdR?= =?utf-8?B?RElzYXpvQU5nK3cxZzJRZHRSbU9hdmF2TmRuSEk4dGRvak9GM3l4UzlFRFVP?= =?utf-8?B?SlhKb1BOdHdxYXMrZ25TOU9vbXpQcS9vdlZ3UTNYNXFiUXVKWkdpcjYwWFZi?= =?utf-8?B?clJ3MUVxYUkyeXFTUnN5b0hVcm5qeVJGRGM2cWlVcmNDTFlIZ2JSMUliL0pS?= =?utf-8?B?aTVoM1hHYThoUDNRNGs0WlNGWU5YcXp3eXFQU2tPbVh6czkrNzAyYzNhZ20w?= =?utf-8?B?bXg1OXBxSG1wRlVLb2NwMFVUTmlLTUpIMzhPdGJMN2RFY0FVNk1qd29pOU53?= =?utf-8?B?OEtRZmNDZXdUbjVHM3Q0dEhWY3U5VEpjY0pBd2IrdUZjNUpKdTBod3hHcHU5?= =?utf-8?B?N0wrbFZUNHR0MWN6QVNzOGdhVzY0dzJOaHJTODlYUzhBa2dHbHFlQm9BOC9E?= =?utf-8?B?NWUyZ1kwOFhWNkkxQzJvZUtmZTRkNDBHS2lYSGVUQmJyQVpDcjZCcXZSMXhi?= =?utf-8?B?UmVaTXVkSEhpakMrWGdlUGZRZzVGZmlKWFV0cjhBS0FCWm5pZytpMG1jYWRG?= =?utf-8?B?UHdJU0dsZVdDaTdwbjBvOFdUMmRvSHVXRVNFOW9YS1drcGVZVzBXMTlucVIx?= =?utf-8?B?bW1TSkNacFBsclI2ZWJHaGI5Y1E4aXlPRXQxUVFxcStHT2lNbmRoNjA0RGZq?= =?utf-8?B?WWhqOGExTU9odHJjRUI0b1FOUXZFWjZsV0JqRjVpdVF0SFE9PQ==?= 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)(376014)(7416014)(36860700013)(82310400026)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2024 09:16:11.4289 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 51ff84c9-61a6-4367-2078-08dcf1b1016b 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: DB5PEPF00014B99.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR07MB8046 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 17b7332007..a90b54fc77 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -131,11 +131,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 fa4822d928..5461798970 100644 --- a/doc/guides/rel_notes/release_24_11.rst +++ b/doc/guides/rel_notes/release_24_11.rst @@ -401,6 +401,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; -- 2.43.0