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 17031A034F; Mon, 7 Feb 2022 14:18:33 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 001E4410F3; Mon, 7 Feb 2022 14:18:32 +0100 (CET) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2077.outbound.protection.outlook.com [40.107.237.77]) by mails.dpdk.org (Postfix) with ESMTP id 9500F410EA for ; Mon, 7 Feb 2022 14:18:31 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AHSGgHIYCzPrHyqZESI+815b2w5wiGjiCsz6e+pzsd3ITlzVPrPkjMr7Z7cP9pO7UgpHQqSmnj2B8IGOhKHYAShEBa8iyIDrX/8/XChIKYAuuaRuXI4I844BdafQ+bgiJA+rvaikykQ8OWcwX5y4BvwBrxO0AjQ2yA+3uWKrqmc6YrPrLQAbbgV1YuM4p8RxYvpzeK4QpgBrtWaffppys+O0KF7j/Nbgjd/+9dM/qYZ/Ci8r+7Uup0TmEOxkMJBvZoRKxsfIDvsBHAb8L/W0/kD9aLHBLodMh75Yo1N7n42Ik89VC7zm51GLL9lK0ynCjFPEPdU78w7WaOeWWefsyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=04H2IKU9rKjpLfFfq4BL6/u8u5ntlNTGvidclAl1T6w=; b=YpaGPif/BiwnrnxF/aDavONHTf50BBWEwTNWu0bIdhJ7LISJXx9c48ezEF3yQIL1L08Of06awsnHjIk85ooCIiHaqP30BIcC8Ncavt3nSq7/sHDtHPJWPpjilo7vUyVTGi8C4X4smSaUt1SSgkN4KtGuYRkBCRdC6CdWzi9NBF8JAghv2cDsxROCrAV+euOTQsIjlAIYYiX6+MgdwpsDW2VCB10QXLEWchgcv1kAaEuAQ9Awz2KBTl5kjX47CvPZMiR7T8ZerqxirrJDka5R9GvPGoWeBNu4zu/x72PiGDYVYOgbWLnm9sO86RxY0X3qPcQ0pXfe6snswJbqOsu0aQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=04H2IKU9rKjpLfFfq4BL6/u8u5ntlNTGvidclAl1T6w=; b=LO59fZ3a4tuW1zvNi1aIZcPiVCGsbQ/yDnkUE5Y/V4m42uNIP7jKfNgNtUAjODz+TG9+Uw1HsGVilPAosSKZ3eGeMTPDDHpw8cO4AWmm+mumMc+sBIrbwdctQdDwJS2anmqy7nGBhxqmCxNAMU/9GAsHlqJesRORIhoQpTur5eH+z7eIi571OYIOlFgYQmQDuEhk/Crv9taNh3P8tZekFF8a5yxF0Bcs1tWJy15ApiAQ/ljBHoqSnR9k8KPM7hp768+Wyjf534VpbzFKrNpEgvZhU+f7o0hSVR5J+XehWd0CB+AKs1LysJDHPLQ+3IFqt3GjLyZDLFoqivAwWIhKdg== Received: from CY4PR1201MB0198.namprd12.prod.outlook.com (2603:10b6:910:17::10) by MN2PR12MB3261.namprd12.prod.outlook.com (2603:10b6:208:108::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Mon, 7 Feb 2022 13:18:30 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by CY4PR1201MB0198.namprd12.prod.outlook.com (2603:10b6:910:17::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Mon, 7 Feb 2022 13:18:26 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353%4]) with mapi id 15.20.4951.019; Mon, 7 Feb 2022 13:18:25 +0000 From: Ori Kam To: Alexander Kozyrev , "dev@dpdk.org" CC: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "ivan.malov@oktetlabs.ru" , "andrew.rybchenko@oktetlabs.ru" , "ferruh.yigit@intel.com" , "mohammad.abdul.awal@intel.com" , "qi.z.zhang@intel.com" , "jerinj@marvell.com" , "ajit.khaparde@broadcom.com" Subject: RE: [PATCH v3 03/10] ethdev: bring in async queue-based flow rules operations Thread-Topic: [PATCH v3 03/10] ethdev: bring in async queue-based flow rules operations Thread-Index: AQHYGwlBP9gELzEMOEqE/wEgRnTpRKyIFB4A Date: Mon, 7 Feb 2022 13:18:25 +0000 Message-ID: References: <20220118153027.3947448-1-akozyrev@nvidia.com> <20220206032526.816079-1-akozyrev@nvidia.com> <20220206032526.816079-4-akozyrev@nvidia.com> In-Reply-To: <20220206032526.816079-4-akozyrev@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 412511c4-06d2-4b69-cd11-08d9ea3c52d2 x-ms-traffictypediagnostic: CY4PR1201MB0198:EE_|MN2PR12MB3261:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1417; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: H6HAwiKGE39UNS7paHsN7KSLVxCzJMUDOSMUuXhCVlMZAUohK5aDhIizbnjlCaOmRAT33WKLZ9OUEtAl9m931elt8ow4T+ap22eJRrSkWhi7R81HIL6GkpNL0xLjniJQi+ZxGxLAQhZl433bRA+UfMlmuEz747Tp2TbhuS5LfmNnIIG6IbK2WR2Snu50DJMLacg3//NNGf8HigUk9mK3xVn3kjZb9S3X0p1GOAODyegghH68yWFGZO52Gl/l5X0AURDJhyt9/Nq5INQGnAOkTmcjAErSwq6ibJ5RGlV1Ff1a5aNwR3VezdH5XbXShWE8qRTz7sbWEbIF7t1ncf7XVzZMc5N1Y6lohOagFoOrTWZV+R8qqBiHHhM1wQSABCKmOpHS3rvqq44w3N/Hi3i1cKBfnb9xebGcN14toRIbjZyzzq2fRgVT92PKYBtSd7aTIo/aYNIAN7D635EaJkOEoyjYNXT+qbyg+9Ha4Cb6GYe26J3rQs9d4DsrMFfzJoCgYrPFQmZo6Spizx/NBip9Pn4M1Jj4UhgfpU1xFxMRUB71NQ7xLpzqseqteSLjmgsiq6iI+z/7p+/XOLYxb7NlMT6sZNomJ36Zm9u+uyOC7YsPadR2KwHFQT4s/atmI7RAVsnognxYTAU6pVN6zh5njn8ANt3vHXyqHylQ0De3NWtAh1AEtr0wkD8o/C3n09MhaBY/81fhAXf7cASQkcgfiw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR1201MB0198.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(2906002)(38070700005)(53546011)(6506007)(7696005)(33656002)(38100700002)(122000001)(508600001)(54906003)(110136005)(76116006)(66946007)(8676002)(71200400001)(66476007)(66556008)(66446008)(4326008)(64756008)(8936002)(316002)(186003)(52536014)(26005)(83380400001)(9686003)(55016003)(86362001)(5660300002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?/OO2oZeG9oTmw4EXLSqd/YzZDdVs1xIux2c04ZeYuI5F3OaIr67cei9dfHS6?= =?us-ascii?Q?H9dGtX5YFh38bS/na3l3dpfVvbUoGhHUNXWiPho39/T6Fx6yCV8AZinrI9k+?= =?us-ascii?Q?XQkgWF3rdNRb70M8VKxW0ElGOE9KB7MdY5lWlNrNWz2go0ymHAKQr9EG2rcL?= =?us-ascii?Q?VSccTuWovi6Juy+jKKR0LE7PqxMpZdxAgxaK0hfYcsUWLrOX2SHkH2743cXt?= =?us-ascii?Q?wt48O3ZgPq+apyiRTckubGiQkIhYL9CZcHJ8kZsKj2P8WejwOA779dj047/a?= =?us-ascii?Q?o4cAgzY1VPCvTEPiA9dF1IfyneJq8DLWR60+Qhz52ReFku8inSWBIggtEChV?= =?us-ascii?Q?cIv3kA+1KdoMcr6BlXiSFr9QtCMsOl421bJ2+/iwWQctbDwXPs6WtjILaB+k?= =?us-ascii?Q?OGrpz1+yN8EwZRhv8xeEGzKXiWdRrKvdhre3Of+z556o2vGAMG3Jqh356DHx?= =?us-ascii?Q?Ga7zpzFBl6ndsedWebM0pKhuNNruxfvD+r6LW7bcbsBHVj1cTjnIUNYFzOL2?= =?us-ascii?Q?xDJYmADLPRTSbA0xSSxM4svpYPuNLlqLGIgz6Pixr+78jJPGc0CHkcj7nU9f?= =?us-ascii?Q?cGjwTLiIacGuHQDhScz2sbvooCNfA4hduAtQByn+tTVmYr0HpEs9C06yQSst?= =?us-ascii?Q?paBkHEGG0+S3BuLlvcrGf590dlh9urKl4bxt7Q6qjz0UlvVjgwxGhMQpig+i?= =?us-ascii?Q?5qQiMpq8Q3oK/+eDz/AF9er937OC9NaO8AGa8RpX8QP7TX8ALq2fnW/vSWrD?= =?us-ascii?Q?1lZSeXGMNE96MQRyQRoVSk/VPf1tkxWfWIjBaBV9AI7ciyZZknXM1oxNPfDk?= =?us-ascii?Q?4rGPajsHfS/wqZHM8gjD6zYT5V58cITgarTid7GTFyCJxK5Iyg5QbYZ0KhAQ?= =?us-ascii?Q?I9SQ7XlMS8/NlLxdOa2A8E86wvxEh9C0TU3xMw/jZ5Ue008Iwnexzb5XWl8t?= =?us-ascii?Q?6A3wZCjjvGQPhXZ1luU549B2vwP3K6oVl7g6ZZXROmqBkGgUxH2Y0zO9MZze?= =?us-ascii?Q?n5sWdiNYFDzGCiyt6KE4FKiXY2IJihJ7fFkeBEoms88JkvxsqSbozAIwNapM?= =?us-ascii?Q?Eseotc1Cqj6Wrx2al8zhGIsduqmlImbfX00XJsrnpYv9D9wx1oa0mObs151Q?= =?us-ascii?Q?jbDlWggwkyNtGdzeETtWS0s3e53k21fq2d1nanwTF4g9fVulpMK6fXdcOjz2?= =?us-ascii?Q?9g9YNg/bw0B33w8vxE3op8ad7UPxg/dE9jxS3eVvUFjEGc8kq3kIutbvDlhr?= =?us-ascii?Q?iBlMqfACUT/nst++9JtYPJA+w3CqfOqPZYuUIvBbbkjTPefFaDkGbK9AlXwC?= =?us-ascii?Q?N8viI5btySSGS3dgCpD87NzPrAUdUu8WswJtmzxTj31rwblQg0aItWF80MYu?= =?us-ascii?Q?H5/IjZXwCz89pBn4pVVA25KFpOxrdwoGGjy9bGq+T4DXg9qJrJ8tQCmu2MHF?= =?us-ascii?Q?DAcItGyNGbHBr/ls5Ot4QlScJ7OS/JmQUnnCwaYvyqcnlhvE3bzZjpnWjnW3?= =?us-ascii?Q?RSFrE+NtBd23+XGh9h+ielggtezc7eTJUgItiGmEShqDhpNpLqnkrL1MATeo?= =?us-ascii?Q?Xylj/sznYwanQttqppzglbZ0XOU83xltkM8Wsa6tEJPft6sWP8oPcLUr65g0?= =?us-ascii?Q?gzj6Ql0YsaMsmcAs5kAywX4=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 412511c4-06d2-4b69-cd11-08d9ea3c52d2 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Feb 2022 13:18:25.6713 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: neE7aT+j6DYp3WEHbHDTea7nGv8sTQOMrWEgS0pf/Crwefnb57cIzs48OcyUVyyrrvGewcEiAgSWPTS6AcvhGg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3261 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 HI Alexander, > -----Original Message----- > From: Alexander Kozyrev > Sent: Sunday, February 6, 2022 5:25 AM > To: dev@dpdk.org > Cc: Ori Kam ; NBU-Contact-Thomas Monjalon (EXTERNAL) > ; ivan.malov@oktetlabs.ru; andrew.rybchenko@oktetlab= s.ru; > ferruh.yigit@intel.com; mohammad.abdul.awal@intel.com; qi.z.zhang@intel.c= om; > jerinj@marvell.com; ajit.khaparde@broadcom.com > Subject: [PATCH v3 03/10] ethdev: bring in async queue-based flow rules o= perations >=20 > A new, faster, queue-based flow rules management mechanism is needed for > applications offloading rules inside the datapath. This asynchronous > and lockless mechanism frees the CPU for further packet processing and > reduces the performance impact of the flow rules creation/destruction > on the datapath. Note that queues are not thread-safe and the queue > should be accessed from the same thread for all queue operations. > It is the responsibility of the app to sync the queue functions in case > of multi-threaded access to the same queue. >=20 > The rte_flow_q_flow_create() function enqueues a flow creation to the > requested queue. It benefits from already configured resources and sets > unique values on top of item and action templates. A flow rule is enqueue= d > on the specified flow queue and offloaded asynchronously to the hardware. > The function returns immediately to spare CPU for further packet > processing. The application must invoke the rte_flow_q_pull() function > to complete the flow rule operation offloading, to clear the queue, and t= o > receive the operation status. The rte_flow_q_flow_destroy() function > enqueues a flow destruction to the requested queue. >=20 > Signed-off-by: Alexander Kozyrev > --- Acked-by: Ori Kam Best, Ori