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 8181C45EE8; Thu, 19 Dec 2024 08:40:17 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B07D40144; Thu, 19 Dec 2024 08:40:17 +0100 (CET) Received: from mx0a-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id EEAF0400EF for ; Thu, 19 Dec 2024 08:40:15 +0100 (CET) Received: from pps.filterd (m0431384.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4BJ6f6EC017400; Wed, 18 Dec 2024 23:40:15 -0800 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2044.outbound.protection.outlook.com [104.47.58.44]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 43mee7039q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 18 Dec 2024 23:40:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RkhivBU72hlvoYtYu6f0V7+1Ba6I/0Ta5/JP5Dyh/utihQf/VRLoKzxA4GzQ2+RkXBt9pMFgrr/ldGQ4B59XNmswjSYeYmd5kX5mzIKrgCE2FO32fUOwHvzA5dY80lyY//B3C86OQ2T3AMcdd8yp6PZ7eZ912pwMFjcjGb1Fej4HYQfaLdOtYwiE1YRd4KOcq/5mvdeZPIpCDlzwuO/Z0wEHHtE14uBE/MK/t4Ms7+sqg24XHG8/oYwbDiM9KUfsfr7Ns4TDUp6Ru2zUfwO6g/ttvp4Pvq1/uNWtw7PXzmaLcFZPQZ9Xd3RRDdDL0PJ6ym8jfK/qdnIKn3Zf3embwQ== 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=/I/87399dlRWjvQcF7boorOGeFHg3FZPfXXrtV48OB8=; b=bREUQRXds9isA4gId+R9dqlOCue3ErNU/Lk3+DOiWBKc+0ExZ5W97n/1YKXliT5+3cP47CGONQtYjR99ZSaAgO+OZm7jHdbLts/uY22z8of6mH842IBLHEIOmK+XkPp5zuTgxw/O0WsmrC/EaYB/ezFHXr6LrqEKzF4QlcXwqE4PZLomFe26fDAisMcdVQGMOmi13yozgo7PUYxFZVfvK0YnD7GvkVtda9Eolt3jEe0sAsaf1idOZzPPepWGQdLlAtMH3D4n8vAGLZtgSmF88lFt8tPtbpLU5kn8T7tP6QhK+K91ES32Wy8xlNKTFX552zxbITIUUWru5UjvFoNdHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/I/87399dlRWjvQcF7boorOGeFHg3FZPfXXrtV48OB8=; b=rGUWj94PqEwgf+nXUS+wiisAoAxIV+2bPOPjweACE9ZLmayVGCDyHxxI9Set2kzo8PRGwxzyIV5llyOqvt6/taJx32K6KKQz+2Jl0gU1f23xSPga9Uyz8cf+qjnYKpC+vGEgpV/D9LLcLtPIBdPoMhwlUk1r8xHe+mYSaG0cLyM= Received: from PH0PR18MB4425.namprd18.prod.outlook.com (2603:10b6:510:ef::13) by SA1PR18MB4694.namprd18.prod.outlook.com (2603:10b6:806:1d5::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8272.13; Thu, 19 Dec 2024 07:40:12 +0000 Received: from PH0PR18MB4425.namprd18.prod.outlook.com ([fe80::424f:7fcf:ce0d:45c4]) by PH0PR18MB4425.namprd18.prod.outlook.com ([fe80::424f:7fcf:ce0d:45c4%6]) with mapi id 15.20.8251.015; Thu, 19 Dec 2024 07:40:11 +0000 From: Shijith Thotton To: Shijith Thotton , "dev@dpdk.org" CC: Pavan Nikhilesh Bhagavatula , Jerin Jacob , Naga Harish K S V Subject: RE: [RFC PATCH] eventdev: adapter API to configure multiple Rx queues Thread-Topic: [RFC PATCH] eventdev: adapter API to configure multiple Rx queues Thread-Index: AQHbUegiAutaw45V3U28dsW6QkhAlbLtLgHw Date: Thu, 19 Dec 2024 07:40:11 +0000 Message-ID: References: <20241219073147.1719079-1-sthotton@marvell.com> In-Reply-To: <20241219073147.1719079-1-sthotton@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4425:EE_|SA1PR18MB4694:EE_ x-ms-office365-filtering-correlation-id: 11f6795a-52ed-4860-4966-08dd20005ecf x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?3wnniTuz0IJ1cLkc4UBegkV5GmA6YS/AX+meWYhAv48B3k1yg1mjKhXinXCR?= =?us-ascii?Q?ytBJXXIZWQPF8WBY17jn83WTG78FMx7kopfBe55xavMLjcRdvLz9Ar86r5nZ?= =?us-ascii?Q?EGSnV2djwCGkxo4lq75HK/tx7MKqrAZ7G1ZdqmKt2jLDQGWTkH+7L6xUnOP6?= =?us-ascii?Q?f5oIzAbEVuWsVjSbWYBoZlloIAzq9kmcj3rAWQL4fuBByKMHVKBA1PM6iG2X?= =?us-ascii?Q?1II9vtPDaETfp/p5jTx05ECHUYk+PxQQl+vwgXnUq+xF7yMWMTcPt8ATGuki?= =?us-ascii?Q?wIeSDXhDpMYsC4Njd6hbFWV6EcBwQqq9Wku4CpHUzeuCl0p/O9nMvnCa1oQg?= =?us-ascii?Q?BFEfBabvPZObN3592PCzGU0YZ1k63OaFpDTqEL8jTEZL8+xMO8aw2HlKHvo3?= =?us-ascii?Q?BfPGlErz7I7I3QgiwgtZCdRkVoQFGDk47XrMmyN7tmLeevs4Yxj+5pf6w0N6?= =?us-ascii?Q?iMrqA5JMQQ4mOB5GFar6VGW6Pij6daBGEXXvKEJEDcdxYXInH7YsrSS0cYod?= =?us-ascii?Q?PiVSAxdIbKXgVk77N8Tz3BmGBMdZANsy6v8B/kU5+2Z2xe7s7p1lM4Z9CB95?= =?us-ascii?Q?sYk3ahrY0TaC2oNHmSD0o4fWX70W6klCfzzVrt6HkYlFILimqRSCwAs6bYBM?= =?us-ascii?Q?UqjHeuC3i+MzWdM3LoSv35cARB0yUNPgvVdGJoiQCPMJ//L14UDitqasaS5v?= =?us-ascii?Q?YeivdKAt1ZnzLnVrdWyuFl14fsyc3F2LT5OHbSDkFk4NF7EhYecYlKcR0Je/?= =?us-ascii?Q?QAbQ220ESeG4HdVO2YKeGi1ZtfeO8njvTAAveCWL2sftcy4u8BDw3JukXNOD?= =?us-ascii?Q?7fAsfSt8RMBJmq1mIwLMSaGKBzXRqhbNIQfC5F/f8RjGvW77cTNI/p/pxaDY?= =?us-ascii?Q?1JTb52b3KIf23oKMKKrXeQRkdrInU66kttXiakYPBoQ1vp/XgBQ3RcVk/SFx?= =?us-ascii?Q?Txak49qMlKHmzM/mLM42umO8fGhfPYtrjjDAXk7XFT9oSNtw4SjgGnkmPD3J?= =?us-ascii?Q?J9oPknENG9KpsuQOpTCcGkbJMoeQ5fAYUEuPQauoWJik2/jSx2dZL9M/4b7h?= =?us-ascii?Q?6J85/RY/2O8fY8qnnIncLmT3Q4sMnFEeEdMTS4wq5wvIMRCvL1XX6Swc2jIE?= =?us-ascii?Q?z3FKVGL1AmF8cxNoj4pLvt7HKT2dnXTJClhXaiU49Kdc5OhB7GphUwbhjZMA?= =?us-ascii?Q?8Gw6VwuHd5u/xGXZ5tPVFIgL8Or4Fb0bYw6zcrf2BCpxoGAW9IyYP06jhjEl?= =?us-ascii?Q?MpnxFIww+M7fLkNr4p7PVrsgQerIsZ5HJaHnd3T1x5lPwcZBSV8GBU25dfKa?= =?us-ascii?Q?QuNbl1M6HBnGZbVC1Co5SKkV8u536g+2YfrUz63xL6qUo34zLAy37SCAbD0Y?= =?us-ascii?Q?WHXPtTbsW6NPbLKbMTU2Czmk0ZFplIsfOXRhIiQ2OhE6Nm0VDwg82s3g+aEx?= =?us-ascii?Q?1fBtf3wWixaNlHNjOMW6cWe0WZUX2w1O?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4425.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ydvTjLo9xOXT+T5IXfRgu94QQU7x+ZOnKu0welF+WhGYXjAEbUw/D+lQ9tVS?= =?us-ascii?Q?vH4p5+dvg3malibX0h4Mnfmf1Tr3wr6GiH4vZNoXw71VJLW18yXwCrf0EGrZ?= =?us-ascii?Q?11nFlOT07GRuzBiu5CBLlvxTpY9vdHv/VmcbJuRj5IBQiaQTwTi088S/s13w?= =?us-ascii?Q?MBrznra/fZh9Hrt8P4IsCYcAW8LVcCLStyXMWanHvXw4bEZNHG4gcqjyC8kQ?= =?us-ascii?Q?rtkjiKlJLT4C83zjpa0LAnPYTnwxW0B1xVHYrCF96ZsL5G6SqLAF/AzjFYVI?= =?us-ascii?Q?1LNruhYmkp12WYABeOKE8R6Aoon7D+5mywlFeTIBxhpf8hlyl12RkLKXBL8t?= =?us-ascii?Q?6ULF9snTMaJy3aE2R/y5thz/qoGQOITzzKLxnnvN0Btqf0U7TFS3JlOw5P5Z?= =?us-ascii?Q?vReXg38xswFaNGLPCuoZPPui/DsnSqc6NOPGzwZTCxe2CHhiQgo73rZYZMCe?= =?us-ascii?Q?jCjGo6ALGx6yVaz2ch2CHcI1QMCsyGrXUI6Luts0VX5OiHSE3oPMqeedqZNq?= =?us-ascii?Q?2YtrseiNqsczkqso5N6SO87BdZ8xXqgKuQG2y1I7K6TaaO4hGC/tIMFQoPe8?= =?us-ascii?Q?zPDfWHZpAnVfSYvNVae9gP+fea27kx3cp82EyWhuGZSu+XO2JcyT57DOGDAg?= =?us-ascii?Q?7T2itwE/0vhFOJPgofmCtRp2uuC1z9ZRgsk+vfNXcX9L/0UKaTWytiJ26D9o?= =?us-ascii?Q?SkcUzAvwuz/6KSPUSHqTAKV0LURbK8UxaY24xvOs3MLw2JoQFZiIXX7meBn3?= =?us-ascii?Q?g8ci0U7gh9IUSDgvr23nvLxOp0UdIq/MEgRhyIgCHgiqVVrSiuxJyh7KBjtx?= =?us-ascii?Q?Lg08UTEHNc+/3qsU+pDXGzQdlOyqkMS7L8qRFfQe9ls5jmcAS4WpqOlxuLzN?= =?us-ascii?Q?6OZzjiiXc90cCIJDLQz715dokiXnk9vO6mrfC75RYn7ULQDfSAjxSOnx5xF+?= =?us-ascii?Q?PR2BhYFF4thCQ+2YmNEyWc/enAbGwSjcWpNHAS+8NST2QXOtDcXR2ivXogTQ?= =?us-ascii?Q?6AgL56YKx6neCeiSEybNtoKdBJqTM5P4WTupt6zCmA1mJQxnjuPXq19SXRjl?= =?us-ascii?Q?I3AdfasuhGb6xwjAjzkfjBGKWf/6c/3skgDy+pQpgUkw7L2hxaai8C8+Wie9?= =?us-ascii?Q?gqFWHrNET+9Tz0FpNkqEAzzvxwmHI5If4NZ/lrWXcfIrG7MgN1xSX5AGF5k8?= =?us-ascii?Q?dmioLqSQScpy3qLtnn+7FyGH7/miFtsUtviv9q2b+dakX8kmVm1tQfYm6xtB?= =?us-ascii?Q?nF2+KvyLKIE47gyYDGNB3O6CnF8d/NcS4gAjgS2eoKRPXHP999shoKbCaFRB?= =?us-ascii?Q?QFjn2smSo1eJ35brsIh4pZiB5IoWXx14ji9f7/pD7GyhjogygCj6B2KKs5GP?= =?us-ascii?Q?E2RvYw5vpok0VrqSLWNpE4qfFtBKcE9lxUbLwa+4taoRRHB9PmoJ+PdjZFs8?= =?us-ascii?Q?001Z9Dey31qZSwwBGec9/fuuH87zfrx41KnWKsHvdO0fXWTGYi509XiN+9BA?= =?us-ascii?Q?o7N9JdP1S+pptlvGL3O6qkk3ubFFZapr0NrmZckdXX96X7noE+zvQz4KDk9X?= =?us-ascii?Q?NvCQh0yfVp9AMUvyFuzzjd+10VV1uPwUhIOYLNlY?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4425.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 11f6795a-52ed-4860-4966-08dd20005ecf X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2024 07:40:11.8652 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ghTK0BjhkFGZOktpXFmH2n0hmwZhZCeF4Fd0qmnVwBSoJPNpCf1LT31Sd5kZ3FpbaO5ajh1YlrWCWVVSfAnUTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR18MB4694 X-Proofpoint-GUID: Xa6DbjgqDawKP0wzwsqyHKddCi6oXpWf X-Proofpoint-ORIG-GUID: Xa6DbjgqDawKP0wzwsqyHKddCi6oXpWf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.687,Hydra:6.0.235,FMLib:17.0.607.475 definitions=2020-10-13_15,2020-10-13_02,2020-04-07_01 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 >This RFC introduces a new API, rte_event_eth_rx_adapter_queues_add(), >designed to enhance the flexibility of configuring multiple Rx queues >in eventdev Rx adapter. > >The existing rte_event_eth_rx_adapter_queue_add() API supports adding >multiple queues by specifying rx_queue_id =3D -1, but it lacks the ability >to apply specific configurations to each of the added queues. > >The proposed API, rte_event_eth_rx_adapter_queues_add, addresses this >limitation by: > >- Enabling users to specify an array of rx_queue_id values alongside > individual configurations for each queue. > >- Supporting a nb_rx_queues argument to define the number of queues to > configure. When set to 0, the API applies a common configuration to > all queues, similar to the existing rx_queue_id =3D -1 behavior. > >This enhancement allows for more granular control when configuring >multiple Rx queues. Additionally, the API can act as a replacement for >the older API, offering both flexibility and improved functionality. > >Signed-off-by: Shijith Thotton >--- > lib/eventdev/eventdev_pmd.h | 34 +++++++++++++++++++++++++ > lib/eventdev/rte_event_eth_rx_adapter.h | 34 >+++++++++++++++++++++++++ > 2 files changed, 68 insertions(+) > >diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h >index 36148f8d86..2e458a9779 100644 >--- a/lib/eventdev/eventdev_pmd.h >+++ b/lib/eventdev/eventdev_pmd.h >@@ -25,6 +25,7 @@ > #include > > #include "event_timer_adapter_pmd.h" >+#include "rte_event_eth_rx_adapter.h" > #include "rte_eventdev.h" > > #ifdef __cplusplus >@@ -708,6 +709,37 @@ typedef int >(*eventdev_eth_rx_adapter_queue_add_t)( > int32_t rx_queue_id, > const struct rte_event_eth_rx_adapter_queue_conf >*queue_conf); > >+/** >+ * Add ethernet Rx queues to event device. This callback is invoked if >+ * the caps returned from rte_eventdev_eth_rx_adapter_caps_get(, >eth_port_id) >+ * has RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT set. >+ * >+ * @param dev >+ * Event device pointer >+ * >+ * @param eth_dev >+ * Ethernet device pointer >+ * >+ * @param rx_queue_id >+ * Ethernet device receive queue index array >+ * >+ * @param queue_conf >+ * Additional configuration structure array >+ * >+ * @param nb_rx_queues >+ * Number of ethernet device receive queues >+ * >+ * @return >+ * - 0: Success, ethernet receive queues added successfully. >+ * - <0: Error code returned by the driver function. >+ */ >+typedef int (*eventdev_eth_rx_adapter_queues_add_t)( >+ const struct rte_eventdev *dev, >+ const struct rte_eth_dev *eth_dev, >+ int32_t rx_queue_id[], >+ const struct rte_event_eth_rx_adapter_queue_conf >queue_conf[], >+ uint16_t nb_rx_queues); >+ > /** > * Delete ethernet Rx queues from event device. This callback is invoked = if > * the caps returned from eventdev_eth_rx_adapter_caps_get(, eth_port_id) >@@ -1578,6 +1610,8 @@ struct eventdev_ops { > /**< Get ethernet Rx adapter capabilities */ > eventdev_eth_rx_adapter_queue_add_t eth_rx_adapter_queue_add; > /**< Add Rx queues to ethernet Rx adapter */ >+ eventdev_eth_rx_adapter_queues_add_t eth_rx_adapter_queues_add; >+ /**< Add Rx queues to ethernet Rx adapter */ > eventdev_eth_rx_adapter_queue_del_t eth_rx_adapter_queue_del; > /**< Delete Rx queues from ethernet Rx adapter */ > eventdev_eth_rx_adapter_queue_conf_get_t >eth_rx_adapter_queue_conf_get; >diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h >b/lib/eventdev/rte_event_eth_rx_adapter.h >index 9237e198a7..9a5c560b67 100644 >--- a/lib/eventdev/rte_event_eth_rx_adapter.h >+++ b/lib/eventdev/rte_event_eth_rx_adapter.h >@@ -553,6 +553,40 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id, > int32_t rx_queue_id, > const struct rte_event_eth_rx_adapter_queue_conf >*conf); > >+/** >+ * Add multiple receive queues to an event adapter. >+ * >+ * @param id >+ * Adapter identifier. >+ * >+ * @param eth_dev_id >+ * Port identifier of Ethernet device. >+ * >+ * @param rx_queue_id >+ * Array of Ethernet device receive queue indices. >+ * If nb_rx_queues is 0, then rx_queue_id is ignored. >+ * >+ * @param conf >+ * Array of additional configuration structures of type >+ * *rte_event_eth_rx_adapter_queue_conf*. conf[i] is used for >rx_queue_id[i]. >+ * If nb_rx_queues is 0, then conf[0] is used for all Rx queues. >+ * >+ * @param nb_rx_queues >+ * Number of receive queues to add. >+ * If nb_rx_queues is 0, then all Rx queues configured for >+ * the device are added with the same configuration in conf[0]. >+ * @see RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ >+ * >+ * @return >+ * - 0: Success, Receive queues added correctly. >+ * - <0: Error code on failure. >+ */ >+__rte_experimental >+int rte_event_eth_rx_adapter_queues_add( >+ uint8_t id, uint16_t eth_dev_id, int32_t rx_queue_id[], >+ const struct rte_event_eth_rx_adapter_queue_conf >conf[], >+ uint16_t nb_rx_queues); >+ > /** > * Delete receive queue from an event adapter. > * >-- >2.25.1 Please Ignore this patch. . It has been resent after adding all maintainers= . https://lore.kernel.org/dpdk-dev/20241219073405.1724200-1-sthotton@marvell.= com/