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 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=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: [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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit 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?B?SkN3aXRzL1l1N0Z5YXlWclYwRW15dW9ubUsvdUl1V28zVHVFSmhpeG1rVzZa?= =?utf-8?B?NFhrS25rN1cydmZXdmU2WVkwWUVINDdYcmozYWpnUWxBZ2lKTzUrSEV6NWhW?= =?utf-8?B?bXVNWFVzdUg0eTlWVG1rY2I5V1N3ckhTSEZTbHJJQ0dLK3dRQjlmSUw0aGJC?= =?utf-8?B?Rk96eENzVE1qR1JRSVNoVDc1MmRXQ254bk5xUFRMbUl2Sm1wWGFia3lBVklH?= =?utf-8?B?VS9vY2VEUlE0Tk5EcjVKTFBoQ3M2Z3I5N252d1ZrZ2x3YlJpTGlsV3BDY004?= =?utf-8?B?NXA1d0x3Q3FZNjh2RTdDak01Z1F6UXp6LzcvZVdMSjlaRXZFTGlnS2FCdk9U?= =?utf-8?B?d2RGeCtaUWFjQ1FiWXZvOFZZZ0ExbUZ5d1ZTdGhpSEVQU2FXQ2k1YnRlTTQ3?= =?utf-8?B?M2FyYTU2N3dEb2gxK3QwM3BXZHViUnVhNE9MVFVZdlJKQ2ZwMGxsMEJaRk8y?= =?utf-8?B?N21NMVF5Qmw5cEhKQXVoSC9TU09rS3pobDIyd0lxbzV3NHNYK1NCVFFTSDRO?= =?utf-8?B?cnZjK1Z5enRaM2Z5Zng4Z1VqdkFzUmhDbVZlcW9mTWZGbm9JdGJadXNVdWEr?= =?utf-8?B?dzR0OENpQzJadnhwN0dRQ1BxTDl6RjBNc1h3TWkwOGxSdld1R09iUFQvblNN?= =?utf-8?B?NFp6NUZneVA3UlN5dXV3NEhpZy9Teit3SGpQRGZWL3NLQ1llVElXY3pWNHhD?= =?utf-8?B?MEZKMGREVVNhd0NUTHpEZHFkaldINzM3QzRnUThySEllMDNub3NRZmFsOTZm?= =?utf-8?B?Sy9vRnpMQ05qU2F0YXVsSzZOYWFaQms2dEtySS9JcnJieDhUem5Ud2RWN1E3?= =?utf-8?B?STVJM29xeTR3QktxYXhOeGpQemNSb0lBWHpQYzd2WU9MSU9jM0xIeU81cXd5?= =?utf-8?B?Qm83dGh6MXE0MFVvKzNyR05meUFBa1cwOGt6aFZ0eThYZXJ4TzRWSHUvNUs1?= =?utf-8?B?RGxORHhNejJZMWlhTjhxWUU5VGxhaVlCT2Jwb2orR0FzVUNDUUlsTW5DVE9u?= =?utf-8?B?OXRWNDVSTkNoU0hnNnE3ZGFkSzNuakhMd2NQellNd1hjZk8xVzAwdTlUSTE5?= =?utf-8?B?M1RJSXlUUHplMkd6bDYvdm1QK3NoREtpMEZQdUxUNDhLdy9STDUydmNRZFZW?= =?utf-8?B?Z0FLRGV6QyswdUdJY3hsVDNPa3FjalpHZEFBamticHU2NzFQY1VKWlhaczF6?= =?utf-8?B?T05XbVNGcUxMY3dPdmhIeXFoUFpzL1lKSkRtM3F1WDdRUkd1WlNzK1BubkYz?= =?utf-8?B?Z2dnYW90dVpjMGRqVlJlUlRvRmJ5dG5SVUxkemNRZW5BcldQT2llTmR3Y2s5?= =?utf-8?B?N1k3TW5Fa1VFeUZ4V2JwWDdJRERPYlJwZFpycE96YzcrVXN1Z2RCTGt0RHE2?= =?utf-8?B?YVJneXpCWnZlbVpvKytyKzBLQzNOK2FoR29ac294WUZMaXRjanJKekhuSFRH?= =?utf-8?B?bGp6Y09BTE1mcEJhWlJnRk4xVlNiNlNCT2l4MmhuTWdPcHdzTVpKclNGRlhC?= =?utf-8?B?MlVpVzJkczExL1F6UDN5RHdUYzlZS3BPcU4wWjF6YWZEbXl1T1QySlJBMm1t?= =?utf-8?B?b3BwTE93SXdPZUIySGFkR29tQytVM1duV2RmWHQzSlVFWkVUWDBJQVhod21h?= =?utf-8?B?b0xTbnNTRE90bVRYaWltVjFhVThiYlQ3dmVDbk1kTEVsbk9hb2VzQjBRVDB3?= =?utf-8?B?dkVoN25lS1ZBbXliaENid3M0QldmRW9SQkZIMWpCTEtwU2JweEpiY2tmQ3Jl?= =?utf-8?B?bTlrWVZQdXExMlZDQzFsZE5jVnlGT1RJVGJrU0dGNEU3OVk5NE1BZ2tKRG5w?= =?utf-8?B?eDFFY2NGYTdHUG5tNkliZlAwQkhkOWplNy93NGc3RDR1M2hYb1dzY0grMHpn?= =?utf-8?B?R2dQZlYvSzZGZHZSdzFiNGR2L0c4Z3dmUkxvVjFHcHNpL3c9PQ==?= 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; -- 2.43.0