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 6722442609; Tue, 19 Sep 2023 13:48:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4089440278; Tue, 19 Sep 2023 13:48:47 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id EDD1A40276 for ; Tue, 19 Sep 2023 13:48:45 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 38J66JfP023472; Tue, 19 Sep 2023 04:48:45 -0700 Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2047.outbound.protection.outlook.com [104.47.73.47]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3t5bvkr67x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Sep 2023 04:48:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MbAXx5fm5PJUMHDKXzPMNdvvsrqo13O9QwfFIiiUo6PuHe8HnN8ELQyBmDiKBj6+CIE52Mo088grB0U+FuOl4bqaBuzqhTnSKt71Q615L3jtq49VnTSjDgEz8QZiCUmcEPTsbXG8ckMSk6AaaQCz8/jsf1hLLt7Sve4QDXD3VfHzG+rOHssv3tuR2blhOLSG0zP66FzR4bWFM8B9eb1Uh0+0bUvOCFf+TqbSaW3glvboEsLMSzb4Y0noiMP3wo2AGVnoy/gUJtfyi7zUdzblroCBVph0Qi9KjOHt6QWD+QNaz/oWfXRK7US5Cr5Z0ILXx3/lMKBWv5D5QeJqX3NumQ== 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=2w/NK123q1gh6rGmR1SdiR2BZkRLqsRRDAfEhUNaxq0=; b=FACMOd5gRH3RR5dbvrxO/k5IbXEh3PMBAuC0+Rcry/a2vGeXb1oeTLseNBD5dyXnZaUjDifPhZ1OvULLwwFQexntRm7iWhdbjDmLan5icXjZiTDbHsImfKbhcOkUiy5PsLw+PUCqFR9tTEmKXruyA9ahWsQMybI96MCJbEAsjuiHYdbxs9zaau3CmhBC1A2xgwsKKj4e2qDEItvEn90aDDx5rG699sGo01gPYVDqQiWjZllIGLu7SNFHeTW3kd1mw0qVuX9ZGYglZeP/14id9Z+zS4EZJb0/yE5zNpsVD0/gc6GliIrqkW8/lwZEdIz8Yxl6pgn/N4hwtMkF11cs7w== 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.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2w/NK123q1gh6rGmR1SdiR2BZkRLqsRRDAfEhUNaxq0=; b=EYP1rxHxP9L32mVIBDE7nFsyzRaMSVYRfbadoWh2OpxW/lV4RNGQR6RUhnNwe5P83T+i71r4/MtoZ/LHIwbM+oz+OsNyk/RkMlCI+GjIPk0ifxLn1VQQqUEQXDKqYIxWwhOofjv62nuFYBoWfdMZvFpqbwQQyAJy69cC0Ot9r1k= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by BY1PR18MB5327.namprd18.prod.outlook.com (2603:10b6:a03:533::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Tue, 19 Sep 2023 11:48:39 +0000 Received: from PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::cd84:2ed1:5222:7527]) by PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::cd84:2ed1:5222:7527%6]) with mapi id 15.20.6792.026; Tue, 19 Sep 2023 11:48:39 +0000 From: Anoob Joseph To: Amit Prakash Shukla , Chengwen Feng , Kevin Laatz , Bruce Richardson CC: "dev@dpdk.org" , Jerin Jacob Kollanukkaran , "conor.walsh@intel.com" , Vamsi Krishna Attunuru , "g.singh@nxp.com" , "sachin.saxena@oss.nxp.com" , "hemant.agrawal@nxp.com" , "cheng1.jiang@intel.com" , Nithin Kumar Dabilpuram , Amit Prakash Shukla Subject: RE: [PATCH v1 2/2] test/dma: add source buffer offload free test Thread-Topic: [PATCH v1 2/2] test/dma: add source buffer offload free test Thread-Index: AQHZ4WLltKxAhScYP0KHKCcitpcW2bAiGqKg Date: Tue, 19 Sep 2023 11:48:39 +0000 Message-ID: References: <20230907081040.1002478-1-amitprakashs@marvell.com> <20230907081040.1002478-3-amitprakashs@marvell.com> In-Reply-To: <20230907081040.1002478-3-amitprakashs@marvell.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-rorf: true x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcYW5vb2JqXGFw?= =?us-ascii?Q?cGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0YmEy?= =?us-ascii?Q?OWUzNWJcbXNnc1xtc2ctNzY3ZTJhMjItNTZlMi0xMWVlLTljNjYtNGMwMzRm?= =?us-ascii?Q?NWY5YjRmXGFtZS10ZXN0XDc2N2UyYTI0LTU2ZTItMTFlZS05YzY2LTRjMDM0?= =?us-ascii?Q?ZjVmOWI0ZmJvZHkudHh0IiBzej0iNjg0NyIgdD0iMTMzMzk1OTc3MTU1ODY4?= =?us-ascii?Q?Nzc1IiBoPSJyendLREgwM282OEUvdzVHY09EamZJOEZGTVk9IiBpZD0iIiBi?= =?us-ascii?Q?bD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2dVQUFONFBBQUJu?= =?us-ascii?Q?ZU5jNDcrclpBU1V6RlRCZGI2N0xKVE1WTUYxdnJzc1pBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBSEFBQUFCdUR3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?RUFBUUVCQUFBQTlSZW5Md0NBQVFBQUFBQUFBQUFBQUo0QUFBQmhBR1FBWkFC?= =?us-ascii?Q?eUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFF?= =?us-ascii?Q?QUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdNQWRRQnpBSFFBYndCdEFGOEFjQUJs?= =?us-ascii?Q?QUhJQWN3QnZBRzRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFB?= =?us-ascii?Q?QUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdVQWJnQjFB?= =?us-ascii?Q?RzBBWWdCbEFISUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCakFIVUFj?= =?us-ascii?Q?d0IwQUc4QWJRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlBTUFBeUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBR01B?= =?us-ascii?Q?ZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4QWNnQmtB?= =?us-ascii?Q?SE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3QjFBSE1BZEFCdkFHMEFY?= =?us-ascii?Q?d0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQUcwQWFRQjBBR1VBY2dCZkFI?= =?us-ascii?Q?WUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFB?= =?us-ascii?Q?QUlBQUFBQUFKNEFBQUJqQUhVQWN3QjBBRzhBYlFCZkFITUFjd0J1QUY4QWN3?= =?us-ascii?Q?QndBR0VBWXdCbEFGOEFkZ0F3QURJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFH?= =?us-ascii?Q?UUFiQUJ3QUY4QWN3QnJBSGtBY0FCbEFGOEFZd0JvQUdFQWRBQmZBRzBBWlFC?= =?us-ascii?Q?ekFITUFZUUJuQUdVQVh3QjJBREFBTWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFYd0J6QUd3?= =?us-ascii?Q?QVlRQmpBR3NBWHdCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFHY0FaUUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?us-ascii?Q?QUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZkFI?= =?us-ascii?Q?UUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lBYVFC?= =?us-ascii?Q?c0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFB?= =?us-ascii?Q?QUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFaQUJrQUhJ?= =?us-ascii?Q?QVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUVBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFD?= =?us-ascii?Q?ZUFBQUFiUUJoQUhJQWRnQmxBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhB?= =?us-ascii?Q?YmdCaEFHMEFaUUJ6QUY4QVl3QnZBRzRBWmdCcEFHUUFaUUJ1QUhRQWFRQmhB?= =?us-ascii?Q?R3dBWHdCaEFHd0Fid0J1QUdVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0Iy?= =?us-ascii?Q?QUdVQWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QnVBR0VBYlFCbEFITUFY?= =?us-ascii?Q?d0J5QUdVQWN3QjBBSElBYVFCakFIUUFaUUJrQUY4QVlRQnNBRzhBYmdCbEFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVB?= =?us-ascii?Q?QUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUY4QWNBQnlB?= =?us-ascii?Q?RzhBYWdCbEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFISUFaUUJ6QUhRQWNn?= =?us-ascii?Q?QnBBR01BZEFCbEFHUUFYd0JvQUdVQWVBQmpBRzhBWkFCbEFITUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFB?= =?us-ascii?Q?QUNlQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUdFQWNnQnRBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refthree: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlB?= =?us-ascii?Q?QUFBQUFKNEFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFad0J2QUc4QVp3QnNB?= =?us-ascii?Q?R1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHMEFZ?= =?us-ascii?Q?UUJ5QUhZQVpRQnNBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhBWXdCdkFH?= =?us-ascii?Q?UUFaUUJ6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0JsQUd3QWJB?= =?us-ascii?Q?QmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QmpBRzhBWkFCbEFITUFYd0JrQUdr?= =?us-ascii?Q?QVl3QjBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFB?= =?us-ascii?Q?SUFBQUFBQUo0QUFBQnRBR0VBY2dCMkFHVUFiQUJzQUY4QWNBQnlBRzhBYWdC?= =?us-ascii?Q?bEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFHTUFid0J1QUdZQWFRQmtBR1VB?= =?us-ascii?Q?YmdCMEFHa0FZUUJzQUY4QWJRQmhBSElBZGdCbEFHd0FiQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUcw?= =?us-ascii?Q?QVlRQnlBSFlBWlFCc0FHd0FYd0J3QUhJQWJ3QnFBR1VBWXdCMEFGOEFiZ0Jo?= =?us-ascii?Q?QUcwQVpRQnpBRjhBWXdCdkFHNEFaZ0JwQUdRQVpRQnVBSFFBYVFCaEFHd0FY?= =?us-ascii?Q?d0J0QUdFQWNnQjJBR1VBYkFCc0FGOEFid0J5QUY4QVlRQnlBRzBBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffour: =?us-ascii?Q?QUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFB?= =?us-ascii?Q?QUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIQUFjZ0J2QUdvQVpRQmpBSFFBWHdC?= =?us-ascii?Q?dUFHRUFiUUJsQUhNQVh3QmpBRzhBYmdCbUFHa0FaQUJsQUc0QWRBQnBBR0VB?= =?us-ascii?Q?YkFCZkFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCdkFISUFYd0JuQUc4QWJ3Qm5B?= =?us-ascii?Q?R3dBWlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0IyQUdV?= =?us-ascii?Q?QWJBQnNBRjhBY0FCeUFHOEFhZ0JsQUdNQWRBQmZBRzRBWVFCdEFHVUFjd0Jm?= =?us-ascii?Q?QUhJQVpRQnpBSFFBY2dCcEFHTUFkQUJsQUdRQVh3QnRBR0VBY2dCMkFHVUFi?= =?us-ascii?Q?QUJzQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFB?= =?us-ascii?Q?QUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QndBSElB?= =?us-ascii?Q?YndCcUFHVUFZd0IwQUY4QWJnQmhBRzBBWlFCekFGOEFjZ0JsQUhNQWRBQnlB?= =?us-ascii?Q?R2tBWXdCMEFHVUFaQUJmQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J2QUhJQVh3?= =?us-ascii?Q?QmhBSElBYlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNl?= =?us-ascii?Q?QUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhRQVpRQnlBRzBBYVFCdUFIVUFj?= =?us-ascii?Q?d0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJ0QUdFQWNnQjJB?= =?us-ascii?Q?R1VBYkFCc0FGOEFkd0J2QUhJQVpBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFB?= =?us-ascii?Q?QUFBQUFBQUFnQUFBQUFBIi8+PC9tZXRhPg=3D=3D?= x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4672:EE_|BY1PR18MB5327:EE_ x-ms-office365-filtering-correlation-id: 7ff1bb2b-5734-4297-e27e-08dbb9065dae x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: E8bir8WZ76rwYaSgVsrDMX2wdvNJR6G3i5Qc/EQ9884R/WlgItYcHoem2WtV9A6fkDRsB9ew1pS8JA7Znmxp+JW3rCA9r8j4110mzG14C+D9pVtIKF+27JndyeiRgAPdKkZ6yxx8yoGfqy+y2eAUUJazKA9m6hzRDzjknvU/Q+CGiq0SDX1XuYvzUJcdOSBKNykZTxFC2e/70tEaIIQmqtSmEtv0qpR8M4KLUMxJx6kSDkg5fUbU1ZIW4QhcDce71qfThhGU+T2wn10p6nCg5x3kE5s4gfmYPiMdC+dguuWwmdDrnTgXvoMcyvWLzg1NhLcg73xmx2XShsTG7N+klaizmXz4khlP8tYl23HNU9r+z7+M5HPOIhKcFusgNF+115u60KQkMHdFQdGCLxkpSvBVVljiKs2a4s2jV4adnqMo5tuJpXbMtNhksCnTtDhnc5qmeJ03TDMab+5piDT0OJwmrwKpf0A2ii4eN4hKIDUvYjiDcNBDQVVKpcFRHrrUjSzeeZhGPvFrmbeZwYA9BYQdw0C0YtzhDLlMSC4vTxllbod7wm35H2jKpsuTgAVSW7w2IX0FhDagvijZAVei8DfLUGcoC1sF0Yorf3YbqkdBkmClzVFmGHVpOLw6Nttqf65uxhSiJPAEXmpuPDWRSg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4672.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(136003)(366004)(376002)(346002)(396003)(1800799009)(186009)(451199024)(316002)(54906003)(8676002)(4326008)(8936002)(41300700001)(55016003)(26005)(107886003)(83380400001)(9686003)(478600001)(71200400001)(7696005)(6506007)(53546011)(86362001)(122000001)(66556008)(38100700002)(38070700005)(33656002)(110136005)(64756008)(66446008)(66476007)(76116006)(66946007)(2906002)(5660300002)(52536014)(20703003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?9As45QXplvkQFOXRcISoIwOJkAKPr2HZR2UU+o1MbhVqklcL8zZfLm8ycme4?= =?us-ascii?Q?yFT7tt75ltZU3NRc61sV+ET349az7+f2wTKa9JOCCc4X0rNxFF/MHsIKNRBA?= =?us-ascii?Q?Q2oyyM2GQ2ersLoAcbY0RmviiTYBb64nY6YkQh6g7fw5jO+FSLJW30ppiw4r?= =?us-ascii?Q?BTwLT2ZHIhSkbceOqnUCtr2wBX6cXLBceVrJAcZZv0wabxnmuHs2Bk+JNlxZ?= =?us-ascii?Q?5JuZOfdtxMzDrHy3a9WTU+PjiclU47D7iUeqZ5HScODIZ/wqXuaMaWE4TI96?= =?us-ascii?Q?PHFrTKH+PbukA1Q6KBPd2SoOe+BtYtYwquZHzHhmYkjjgCrnsQI0BxNSPysM?= =?us-ascii?Q?RMJPiahnugLHoN+NnNXOejtH2bqS6XzCcTt5fkgsGpnoBYGj6Mw8YxjOLn8Y?= =?us-ascii?Q?tWuXNFzylUvl4YMe8iY2m46jiJfgqdqXkXAD9piLzaegh/k65qKivhZbVXFt?= =?us-ascii?Q?JBEyKuFZiplCdDTacaLz7l6OqSMWNLBq6/Wag3Yp4+QN6T2WBkZcuNTDNw7k?= =?us-ascii?Q?Lkx7fhqoWTXIoc21iMDeKGP+hf3kf0WlqLmWUybjfAf0qQAu9RK8BjmIg6Ol?= =?us-ascii?Q?CbMYHont8U7ZvGld53+AjexmueHsG72F0MxPv13+QZvYVW6qsEdj3CIuS4jf?= =?us-ascii?Q?kJqf6jmIDOq3PPBBwWrbAK7uLh2nJ1KlyGtXGUtYc3fjOaFsj2lO0VqGOEfR?= =?us-ascii?Q?WHsqdXD1C6c1uuge5muYD1iBq4VaJ2MhmSILNQuPpaLuNKJrcff1W/cBfP5T?= =?us-ascii?Q?c6H9wZmZp+4HBvmX8OD/G6LxS5C3KfaNBTgG9W7JhOSQsW8iMAco4c6q67r9?= =?us-ascii?Q?BdCFE2U3Fhq0Ch6CJOMhsVCC3yXZH1wlDTm2qULQ+C9WR0iRtTtMFFjZBkxA?= =?us-ascii?Q?Qpbm05ON5E8mOOckfZrIaxCLvoVNjZ7Arfo8NFNBt3dQNdUOLE3jf9ojXzzN?= =?us-ascii?Q?sn4LuiMGT4z+HPfuf97k6P36SyUhPdcUJQSCnCa1o8dqSLe9wBRrbBkmcdL3?= =?us-ascii?Q?rt6t3lffcPnolSjlLO+qiDi+rvvsgIxuPQ/G/yXhqJx45KqhmyLkOnBe9xve?= =?us-ascii?Q?ODpan/RG4zuca5NWPD8vphNmB6Czwv/UlZoPENNCxGQBFLsOfEOEH6JbYjXc?= =?us-ascii?Q?uxzTENi6GEgLxyXocgYnH69TuJUPoB18enflSUjcjFF4ZE9Ql+5j0iK6pMUs?= =?us-ascii?Q?0V2LwQa/gj+i4DP84fiWuqtB2C9mRVwqhudlKnouCcb5BtjuHy9NW6YqG+LC?= =?us-ascii?Q?5LOqlYUW/hgBrz60kDgdmPnDJWPSUbleK0vTZ1O9m2FC6ruPvCaS0ZynFKDk?= =?us-ascii?Q?W2z8WAO2twV6GrbABaGyJWoC9dHVWcPErwmGn90qRqurOJFegtU/AcR7E32a?= =?us-ascii?Q?sv+F52JdxQU/Pw0zBFyhid1CXDt8CXZilenBcE71uF4qDtnn2ReuFA/cFHoc?= =?us-ascii?Q?JUymdQnku9kYQs8LtL4Y4af+TBLiczUF3WeirN9wyo/eYlQkZVbtlmEioNc4?= =?us-ascii?Q?kWm5f88LxyByFktDZLMxBhh/Fd92SFNfksVCz1oonOEfcCwjp1rIJFcs4o5F?= =?us-ascii?Q?ElDRpFpoDqLwEsR21aM=3D?= 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: PH0PR18MB4672.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ff1bb2b-5734-4297-e27e-08dbb9065dae X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2023 11:48:39.5192 (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: dbSEw7OtZ0rb4Ly5A7Ztec5/P4EYC2GoGd+ZDGNSUhiENoZ9I47AbGBECky7LMehT22OLm+2rKpbX8aNwx+8zQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR18MB5327 X-Proofpoint-GUID: FLnPyF1GUb8tYAo-tSprLP-kmFvMU62a X-Proofpoint-ORIG-GUID: FLnPyF1GUb8tYAo-tSprLP-kmFvMU62a X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-09-19_06,2023-09-19_01,2023-05-22_02 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 Amit, Please see inline. Thanks, Anoob > -----Original Message----- > From: Amit Prakash Shukla > Sent: Thursday, September 7, 2023 1:41 PM > To: Chengwen Feng ; Kevin Laatz > ; Bruce Richardson > Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran ; > conor.walsh@intel.com; Vamsi Krishna Attunuru ; > g.singh@nxp.com; sachin.saxena@oss.nxp.com; hemant.agrawal@nxp.com; > cheng1.jiang@intel.com; Nithin Kumar Dabilpuram > ; Anoob Joseph ; Amit > Prakash Shukla > Subject: [PATCH v1 2/2] test/dma: add source buffer offload free test >=20 > Add a test case to validate the functionality of drivers' dma source buff= er > offload free. As part of dmadev_autotest, test case will be executed only= if > the driver supports source buffer offload free and if the test is exporte= d by > env variable DPDK_ADD_DMA_TEST. >=20 > Signed-off-by: Amit Prakash Shukla > --- > app/test/test_dmadev.c | 132 > ++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 131 insertions(+), 1 deletion(-) >=20 > diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c index > 6ef875e545..48da4664ae 100644 > --- a/app/test/test_dmadev.c > +++ b/app/test/test_dmadev.c > @@ -18,11 +18,26 @@ >=20 > #define ERR_RETURN(...) do { print_err(__func__, __LINE__, > __VA_ARGS__); return -1; } while (0) >=20 > +#define TEST_RINGSIZE 512 > #define COPY_LEN 1024 >=20 > static struct rte_mempool *pool; > static uint16_t id_count; >=20 > +enum { > + TEST_SRC_BUF_FREE =3D 0, > + TEST_MAX, > +}; > + > +struct dma_add_test { > + const char *name; > + bool enabled; > +}; > + > +struct dma_add_test dma_add_test[] =3D { > + [TEST_SRC_BUF_FREE] =3D {.name =3D "sbuf_free", .enabled =3D false}, }; > + > static void > __rte_format_printf(3, 4) > print_err(const char *func, int lineno, const char *format, ...) @@ -797= ,10 > +812,93 @@ test_burst_capacity(int16_t dev_id, uint16_t vchan) > return 0; > } >=20 > +static int > +test_sbuf_free(int16_t dev_id, uint16_t vchan) { #define NR_MBUF 256 > + int i, ret =3D 0; > + int retry =3D 100; > + uint16_t nb_done =3D 0; > + bool dma_err =3D false; > + uint32_t buf_cnt1, buf_cnt2; > + struct rte_mempool_ops *ops; > + uint64_t remote_addr =3D 0x40000000ull; [Anoob] Can you make remote_addr as a variable read from env variable? Hard= coding may not be the right approach. > + struct rte_mbuf *src[NR_MBUF], *dst[NR_MBUF]; > + const struct rte_dma_vchan_conf qconf =3D { > + .direction =3D RTE_DMA_DIR_MEM_TO_DEV, > + .nb_desc =3D TEST_RINGSIZE, > + .mem_to_dev_src_buf_pool =3D pool, > + .dst_port.port_type =3D RTE_DMA_PORT_PCIE, > + /* Assuming pemid as 0. */ > + .dst_port.pcie.coreid =3D 0, > + }; > + static int dev_init; [Anoob] Can you use bool instead of int for dev_init? > + > + if (!dev_init) { > + /* Stop the device to reconfigure vchan. */ > + if (rte_dma_stop(dev_id) < 0) > + ERR_RETURN("Error stopping device %u\n", dev_id); > + > + if (rte_dma_vchan_setup(dev_id, vchan, &qconf) < 0) > + ERR_RETURN("Error with queue configuration\n"); > + > + if (rte_dma_start(dev_id) !=3D 0) > + ERR_RETURN("Error with rte_dma_start()\n"); > + > + dev_init++; > + } > + > + if (rte_pktmbuf_alloc_bulk(pool, dst, NR_MBUF) !=3D 0) > + ERR_RETURN("alloc dst mbufs failed.\n"); > + > + for (i =3D 0; i < NR_MBUF; i++) { > + /* Using mbuf structure to hold remote iova address. */ > + rte_mbuf_iova_set(dst[i], (rte_iova_t)remote_addr); > + dst[i]->data_off =3D 0; > + } > + > + /* Capture buffer count before allocating source buffer. */ > + ops =3D rte_mempool_get_ops(pool->ops_index); > + buf_cnt1 =3D ops->get_count(pool); > + > + if (rte_pktmbuf_alloc_bulk(pool, src, NR_MBUF) !=3D 0) > + ERR_RETURN("alloc src mbufs failed.\n"); [Anoob] The memory is not freed in case of errors. May be you can free them= in the end and use goto as required. > + > + if ((buf_cnt1 - NR_MBUF) !=3D ops->get_count(pool)) > + ERR_RETURN("Buffer count check failed.\n"); > + > + for (i =3D 0; i < NR_MBUF; i++) { > + ret =3D rte_dma_copy(dev_id, vchan, > rte_mbuf_data_iova(src[i]), > + rte_mbuf_data_iova(dst[i]), COPY_LEN, > + RTE_DMA_OP_FLAG_FREE_SBUF); > + > + if (ret < 0) > + ERR_RETURN("rte_dma_copy returned error.\n"); > + } > + > + rte_dma_submit(dev_id, vchan); > + nb_done =3D 0; > + do { > + nb_done +=3D rte_dma_completed(dev_id, vchan, (NR_MBUF > - nb_done), NULL, &dma_err); > + if (dma_err) > + break; > + /* Sleep for 1 millisecond */ > + rte_delay_us_sleep(1000); > + } while (retry-- && (nb_done < NR_MBUF)); > + > + buf_cnt2 =3D ops->get_count(pool); > + if ((buf_cnt1 !=3D buf_cnt2) || dma_err) > + ERR_RETURN("Free source buffer test failed.\n"); > + > + /* If the test passes source buffer will be freed in hardware. */ > + rte_pktmbuf_free_bulk(dst, NR_MBUF); > + > + return 0; > +} > + > static int > test_dmadev_instance(int16_t dev_id) > { > -#define TEST_RINGSIZE 512 > #define CHECK_ERRS true > struct rte_dma_stats stats; > struct rte_dma_info info; > @@ -890,6 +988,12 @@ test_dmadev_instance(int16_t dev_id) > else if (runtest("fill", test_enqueue_fill, 1, dev_id, vchan, > CHECK_ERRS) < 0) > goto err; >=20 > + if ((info.dev_capa & > RTE_DMA_CAPA_MEM_TO_DEV_SOURCE_BUFFER_FREE) && > + dma_add_test[TEST_SRC_BUF_FREE].enabled =3D=3D true) { > + if (runtest("sbuf_free", test_sbuf_free, 128, dev_id, vchan, > CHECK_ERRS) < 0) > + goto err; > + } > + > rte_mempool_free(pool); >=20 > if (rte_dma_stop(dev_id) < 0) > @@ -922,11 +1026,37 @@ test_apis(void) > return ret; > } >=20 > +static void > +parse_dma_env_var(void) > +{ > + char *dma_env_str =3D getenv("DPDK_ADD_DMA_TEST"); > + char *tests[32] =3D {0}; > + int n_tests =3D 0; > + int i, j; > + > + if (dma_env_str && strlen(dma_env_str) > 0) { > + char *additional_test =3D strdup(dma_env_str); > + if (additional_test) { > + n_tests =3D rte_strsplit(additional_test, > strlen(additional_test), tests, > + RTE_DIM(tests), ','); > + for (i =3D 0; i < n_tests; i++) { > + for (j =3D 0; j < TEST_MAX; j++) { > + if (!strcmp(tests[i], > dma_add_test[j].name)) > + dma_add_test[j].enabled =3D > true; > + } > + } > + } > + free(additional_test); > + } > +} > + > static int > test_dma(void) > { > int i; >=20 > + parse_dma_env_var(); > + > /* basic sanity on dmadev infrastructure */ > if (test_apis() < 0) > ERR_RETURN("Error performing API tests\n"); > -- > 2.25.1