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 A332741EAF; Thu, 16 Mar 2023 11:01:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 889AB42B7E; Thu, 16 Mar 2023 11:01:03 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id EDE2F42B7E for ; Thu, 16 Mar 2023 11:01:00 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32G7PD6q024068; Thu, 16 Mar 2023 02:58:12 -0700 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2rm0p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Mar 2023 02:58:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q/R41aXu8ZMvFbpkM5IJXrN7F+ux8ot4z86fH/gejcrHv3yw4K2EXRTTqNUee0ed+CKx8mHV99Bc/I69FavSjno2mvLunMcUC4rpHm52Zn0DAylgLqSAfzWH+ep7JE5jduxbOBBWgfbxV3aa/bADgMmnHWJkHdELEv1qCgk9uduZ0M9cUMgIeNoX/tKaY8MH8aOWCFOrjJEyPn/uk53marKExkkrlYdev7B5o1vzB7JP6XI3T7uU/I5fAeul4hLgeOzxon7xjfq0YWeR0EtyCqr7iQVytgz2GgvN11aat8o2WLdw8b1LSgCRk2Cx8zaG0kSsYVnEnVSmL4WSKHsjWg== 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=EBWOU75IpaYinuaPxfFiE90y51iDuWu4bFXgDSu14cI=; b=Ihh1FnzOSWz/UXFqrDJl6C6Lgkqe6FHJk9vV5Oj2WUwm2moyfe+eOqJ29SBlbvFoIUT0irGUfgqOqrlroLmB81H4bCJubZMrgyOwhIsqs5Rvb68YAOdIZzjfwSovd26TcY86ZF9u1bpugoTbjima65y9R8t1arwX5SB2JvxnCSQBt4MQNmc4NC8eOtYpq71IupKYBBUXYw/njODpThUvL1eYP2Ji/+KqcCfzYcyGQ8QZgkcs7Ba094cEAsH0CfvcxA0IrL6ZgCIiuUWPDZmt6bKdXQy98eHWhDkiVdGYFKDMs4bFLBqSvNHhiGX6YQ15HbUekTRXrSgJQEvQhPYOow== 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=EBWOU75IpaYinuaPxfFiE90y51iDuWu4bFXgDSu14cI=; b=o3s33OX7X0MFS2HVlTnxt37fpA5CADREt/gUYrbdB21lvaGF294Xt5n804ZN6+RGXbln8ERQXI3TumpcZjB4CTaF5gXy6us7iKOLUcpprX9sKTPaiYF7fM5TeFdWOb3/VOUz+8KtctEwXEdSYJW/Ye84zgmSK2thxnh41V/44o4= Received: from CO3PR18MB5005.namprd18.prod.outlook.com (2603:10b6:303:17e::22) by PH0PR18MB5144.namprd18.prod.outlook.com (2603:10b6:510:16f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar 2023 09:58:09 +0000 Received: from CO3PR18MB5005.namprd18.prod.outlook.com ([fe80::20cb:4f4c:7f55:f1d2]) by CO3PR18MB5005.namprd18.prod.outlook.com ([fe80::20cb:4f4c:7f55:f1d2%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023 09:58:08 +0000 From: Ankur Dwivedi To: "Yuan, DukaiX" , "dev@dpdk.org" CC: "thomas@monjalon.net" , "david.marchand@redhat.com" , "mdr@ashroe.eu" , "orika@nvidia.com" , "ferruh.yigit@amd.com" , "chas3@att.com" , "humin29@huawei.com" , "linville@tuxdriver.com" , "Loftus, Ciara" , "Zhang, Qi Z" , "mw@semihalf.com" , "mk@semihalf.com" , "shaibran@amazon.com" , "evgenys@amazon.com" , "igorch@amazon.com" , "chandu@amd.com" , Igor Russkikh , Shepard Siegel , "Czeck, Ed" , "john.miller@atomicrules.com" , "ajit.khaparde@broadcom.com" , "somnath.kotur@broadcom.com" , Jerin Jacob Kollanukkaran , "Maciej Czekaj [C]" , Shijith Thotton , Srisivasubramanian Srinivasan , Harman Kalra , "rahul.lakkireddy@chelsio.com" , "Daley, John" , "hyonkim@cisco.com" , "liudongdong3@huawei.com" , "yisen.zhuang@huawei.com" , "xuanziyang2@huawei.com" , "cloud.wangxiaoyun@huawei.com" , "zhouguoyang@huawei.com" , "Su, Simei" , "Wu, Wenjun1" , "Yang, Qiming" , "Zhang, Yuying" , "Xing, Beilei" , "Wang, Xiao W" , "Wu, Jingjing" , "Guo, Junfeng" , "Xu, Rosen" , Nithin Kumar Dabilpuram , Kiran Kumar Kokkilagadda , Sunil Kumar Kori , Satha Koteswara Rao Kottidi , Liron Himi , "zr@semihalf.com" , Radha Chintakuntla , Veerasenareddy Burru , Sathesh B Edara , "matan@nvidia.com" , "viacheslavo@nvidia.com" , "longli@microsoft.com" , "spinler@cesnet.cz" , "chaoyong.he@corigine.com" , "niklas.soderlund@corigine.com" , "hemant.agrawal@nxp.com" , "sachin.saxena@oss.nxp.com" , "g.singh@nxp.com" , "apeksha.gupta@nxp.com" , "sachin.saxena@nxp.com" , "aboyer@pensando.io" , Rasesh Mody , Shahed Shaikh , Devendra Singh Rawat , "andrew.rybchenko@oktetlabs.ru" , "jiawenwu@trustnetic.com" , "jianwang@trustnetic.com" , "Behrens, Jochen" , "maxime.coquelin@redhat.com" , "Xia, Chenbo" , "Webster, Steven" , "Peters, Matt" , "Richardson, Bruce" , "mtetsuyah@gmail.com" , "grive@u256.net" , "Singh, Jasvinder" , "Dumitrescu, Cristian" , "jgrajcia@cisco.com" , "mb@smartsharesystems.com" Subject: RE: [PATCH v10 6/6] ethdev: add trace points for tm Thread-Topic: [PATCH v10 6/6] ethdev: add trace points for tm Thread-Index: AQHZO8GsxmGuTQZ9602b9V2Ix+kGUK77pDCAgAG+OLA= Date: Thu, 16 Mar 2023 09:58:08 +0000 Message-ID: References: <20230207063254.401538-1-adwivedi@marvell.com> <20230208132824.775985-1-adwivedi@marvell.com> <20230208132824.775985-7-adwivedi@marvell.com> In-Reply-To: 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: =?iso-2022-jp?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RY?= =?iso-2022-jp?B?Tmxjbk5jWVdSM2FYWmxaR2xjWVhCd1pHRjBZVnh5YjJGdGFXNW5YREE1?= =?iso-2022-jp?B?WkRnME9XSTJMVE15WkRNdE5HRTBNQzA0TldWbExUWmlPRFJpWVRJNVpU?= =?iso-2022-jp?B?TTFZbHh0YzJkelhHMXpaeTB3TldJeU56ZzRNUzFqTTJVeExURXhaV1F0?= =?iso-2022-jp?B?T1RVeVlpMWxPRFpoTmpReU5XWXdPVEpjWVcxbExYUmxjM1JjTURWaU1q?= =?iso-2022-jp?B?YzRPRE10WXpObE1TMHhNV1ZrTFRrMU1tSXRaVGcyWVRZME1qVm1NRGt5?= =?iso-2022-jp?B?WW05a2VTNTBlSFFpSUhONlBTSXpORFExT0NJZ2REMGlNVE16TWpNME16?= =?iso-2022-jp?B?UXlOemt3TURFeE5USTRJaUJvUFNKd04wMUdNM1ZXWlZKT2EwUnFkRTF1?= =?iso-2022-jp?B?ZEV4dlJWSlFOeXRuYW5NOUlpQnBaRDBpSWlCaWJEMGlNQ0lnWW04OUlq?= =?iso-2022-jp?B?RWlJR05wUFNKalFVRkJRVVZTU0ZVeFVsTlNWVVpPUTJkVlFVRklXVWxC?= =?iso-2022-jp?B?UVVOSmJYVklTamRXWmxwQllVOU5ZWE5pYmxwVVIweHZOSGh4ZUhWa2JF?= =?iso-2022-jp?B?MVpjMDVCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJTRUZC?= =?iso-2022-jp?B?UVVGQlIwTkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlJV?= =?iso-2022-jp?B?RkJVVUZDUVVGQlFURkdTRE5oUVVGQlFVRkJRVUZCUVVGQlFVRkJRVW8w?= =?iso-2022-jp?B?UVVGQlFtaEJSMUZCV2tGQ2VVRkhWVUZqZDBKNlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGRlFVRkJRVUZCUVVGQlFXZEJRVUZCUVVGdVowRkJRVWROUVdSUlFu?= =?iso-2022-jp?B?cEJTRkZCWW5kQ2RFRkdPRUZqUVVKc1FVaEpRV04zUW5aQlJ6UkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJVVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVU5CUVVGQlFVRkRaVUZCUVVGWmQwSXhRVWhOUVdSQlFuWkJSekJC?= =?iso-2022-jp?B?V0hkQ2QwRkhaMEZpZDBKMVFVZFZRV0puUWpGQlJ6QkJXV2RDYkVGSVNV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUWtGQlFVRkJRVUZCUVVGSlFVRkJRVUZC?= =?iso-2022-jp?B?U2pSQlFVRkNha0ZJVlVGamQwSXdRVWM0UVdKUlFtWkJTRTFCWTNkQ2RV?= =?iso-2022-jp?B?RkdPRUZhUVVKb1FVaE5RV0ZCUW1aQlNGbEJUVUZCZVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= x-dg-refone: =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVVkJRVUZCUVVGQlFVRkJaMEZC?= =?iso-2022-jp?B?UVVGQlFXNW5RVUZCUjAxQlpGRkNla0ZJVVVGaWQwSjBRVVk0UVdOM1Fu?= =?iso-2022-jp?B?cEJSelJCV0hkQ2NrRkhWVUZsVVVJelFVYzRRV05uUW10QlNFMUJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZSUVVGQlFVRkJRVUZCUTBGQlFVRkJRVU5sUVVGQlFW?= =?iso-2022-jp?B?bDNRakZCU0UxQlpFRkNka0ZITUVGWWQwSjZRVWhOUVdKblFtWkJSelJC?= =?iso-2022-jp?B?WW5kQ2EwRkhWVUZpUVVKd1FVY3dRV0ZSUWpCQlIxVkJZMmRDWmtGSVdV?= =?iso-2022-jp?B?Rk5RVUY1UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQ1FV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVbEJRVUZCUVVGS05FRkJRVUpxUVVoVlFXTjNRakJC?= =?iso-2022-jp?B?UnpoQllsRkNaa0ZJVFVGamQwSjFRVVk0UVdOM1FuZEJSMFZCV1hkQ2JF?= =?iso-2022-jp?B?RkdPRUZrWjBGM1FVUkpRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJSVUZCUVVGQlFVRkJRVUZu?= =?iso-2022-jp?B?UVVGQlFVRkJibWRCUVVGSFVVRmlRVUozUVVZNFFXTjNRbkpCU0d0Qlkw?= =?iso-2022-jp?B?RkNiRUZHT0VGWmQwSnZRVWRGUVdSQlFtWkJSekJCV2xGQ2VrRklUVUZa?= =?iso-2022-jp?B?VVVKdVFVZFZRVmgzUWpKQlJFRkJUV2RCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVZGQlFVRkJRVUZCUVVGRFFVRkJRVUZCUTJWQlFV?= =?iso-2022-jp?B?RkJXa0ZDYzBGSVFVRllkMEo2UVVkM1FWbFJRbXBCUjNOQldIZENha0ZI?= =?iso-2022-jp?B?WjBGWlVVSXdRVVk0UVdKUlFteEJTRTFCWTNkQ2FFRkhZMEZhVVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= x-dg-reftwo: =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVSkJRVUZCUVVGQlFVRkJTVUZCUVVGQlFV?= =?iso-2022-jp?B?bzBRVUZCUW10QlIzZEJZMEZDWmtGSVVVRmFVVUpvUVVjd1FXTjNRbVpC?= =?iso-2022-jp?B?UnpoQlltZENiRUZIVVVGalowSndRVWhaUVZwUlFtWkJSMWxCWVZGQ2Mw?= =?iso-2022-jp?B?RkhWVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZGUVVGQlFVRkJRVUZCUVdkQlFVRkJRVUZ1WjBGQlFVZFZRV0pS?= =?iso-2022-jp?B?UW1oQlIydEJZa0ZDWmtGSFJVRmFRVUpyUVVoSlFWcFJRbnBCU0UxQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFWWjNRVUZCUVVGQlFVRkJRVUZCUVVGQlVVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVTkJRVUZCUVVGRFpVRkJRVUZpVVVKb1FVaEpRV1JuUW14QlIz?= =?iso-2022-jp?B?ZEJZa0ZDWmtGSVFVRmpaMEoyUVVkdlFWcFJRbXBCU0ZGQldIZENha0ZI?= =?iso-2022-jp?B?T0VGYVFVSnNRVWhOUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRa0ZCUVVGQlFVRkJRVUZKUVVGQlFV?= =?iso-2022-jp?B?RkJTalJCUVVGQ2RFRkhSVUZqWjBJeVFVZFZRV0pCUW5OQlJqaEJaRUZD?= =?iso-2022-jp?B?YkVGSVNVRmlVVUp3UVVjMFFXUlJRbnBCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?iso-2022-jp?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?iso-2022-jp?B?RkJRVUZCUVVWQlFVRkJRVUZCUVVGQlowRkJRVUZCUVNJdlBqd3ZiV1Yw?= =?iso-2022-jp?B?WVQ0PQ==?= x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO3PR18MB5005:EE_|PH0PR18MB5144:EE_ x-ms-office365-filtering-correlation-id: 990bb2d6-4b76-4454-25f1-08db2604f205 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: E9pPcig29wfziCBLUC2tdDvFc7fSXNjHsmBdDXflrm6/sMNIHAZ8yPoGNiTUAk1m+HpgG/T7nUSXyb3PVDgxeeQYW35K3lb5bqiCZhi8+dMl0lGRlFpsWVjhfifaaAXVLQ4WqU1dpQ/Ay6APjZ3FlNo83ntgohBTLYFIw60PlKJgh+G1s5ICQGISNFKJ6+vCPnXMGrjO8ocK0joNFJaSJCVrOFhbBwtASrCpW003sAx87+gow4pBwfK8GuWpxreasLIQ3JKhiD3yR1qWD6OdpL1ov4etNrqR5zt/KSrvh1iBnsWvddCiyLfTAGrErqD91oD6OrM74LRWoEocyCrfPyE+PD/zFAnARyqQLzNW3/dwsoNZjg7c11swYZbYVOz54lNsQBlrBqsdhAlXYQWcY+GNJLzeztu2dDTjnn3Orw0Pelafd4IXrgVMea4Krf3MsPO0NxtHZ5jefNSTQlBdEeeoorEcE6klbDDTTeqMk3V0NFjrupuMb2KiMyWxKaias7qiCw8jiPFy/NrAjNwmoEiutM6OkQGu8ZNlssCXZDp8niuaYpgdksgFw2ZrDy6+jnaKFx3xiJJwvPpGGZxlehGhiMRbrsaGhq3rhEOmd7nJ41KTayer1r9SHFDZuyzbdX8ad+mL7M1ZeqADxegtHTo2P8ePDsnKXFfdM3RjB2CEa0H+07AMPBfz5TVK2NT5 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO3PR18MB5005.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(396003)(136003)(366004)(39860400002)(346002)(376002)(84040400005)(451199018)(2906002)(122000001)(83380400001)(66556008)(5660300002)(7406005)(7416002)(7366002)(30864003)(66946007)(54906003)(66446008)(76116006)(41300700001)(8936002)(52536014)(8676002)(33656002)(64756008)(55016003)(4326008)(38070700005)(316002)(38100700002)(86362001)(66476007)(110136005)(7696005)(478600001)(186003)(45080400002)(9686003)(966005)(6506007)(71200400001)(53546011)(26005)(559001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?VjlXVVJQWFFXWk1IUW9kSkRnTW5pYk84c1M0Y2s2bE1Lem1vNVpWM1NO?= =?iso-2022-jp?B?UnJxSGFORFkxaUZkQkVBbWJ6ZTF0a203ak5TUmErWTRLVUlsYTAxaXJy?= =?iso-2022-jp?B?dVFhRDNxODUrd0ljUUFBc0s0VG8yaExnUmJkUXZCTlJZekk4QjdhcXYy?= =?iso-2022-jp?B?cGcwSk4yRzNITjhsQjZzSThyRlJwSU1oWm54M3UvdndJQkNQSmwwelJk?= =?iso-2022-jp?B?S1Y2aDJGaXhKOCtLSDFPSVNQYUo0TlJVbXpxaWd1U3Q3bEFKMGJBeTJq?= =?iso-2022-jp?B?NGRJOW10aGVnVlZteFVRK1ZUUDdob2RRb244SEd5Q3AzWktyNFNOVi9j?= =?iso-2022-jp?B?dE5IMkRwWi92NXVISlh6eC9hSTlrMTE5T2MzdnNBcENIUUJ6NFE1UGRM?= =?iso-2022-jp?B?dlhqWittaUZlNWt5ajNjWTJrU01KSVBITU1zbHhneTFiWjNnTGo1dmhT?= =?iso-2022-jp?B?bFltb2JNQllyMGhvelRZZzBJcGlwVjVqakdKS0N5NEVGQ1ZDeGl1YWJk?= =?iso-2022-jp?B?ZWJQL2EzSEE4RGY2OUFqbnM5T1M4N2d5a3R2TDlFeGt1ME1uZlZZbWx1?= =?iso-2022-jp?B?aGNGZHBraktac3VxelJOUXZpaWlQaVlmUWxPdTFDbldqVStpakZJM2lB?= =?iso-2022-jp?B?Z29pc3VMZ0hpb29HYkhIeURYYnFGZlBrSFdUU1F4VHprWURWNU9mY2dt?= =?iso-2022-jp?B?KzJ5TGVGcElXSGhCUFZhQmE5eWZPM1FwMUplUCtTMllCazNZR0xzRzIy?= =?iso-2022-jp?B?UzRTRkJkNVY3ZGRybUJoSWZVdVp4Q2Jwd3R3UTZuVW1BRkVPWElwalYy?= =?iso-2022-jp?B?dHJQQkQxS3grenVYNWhkOUN3QjE1aW41VmdtaU52ZElGZVZDZjBkT2h1?= =?iso-2022-jp?B?OWVXK1BMOE1KdjJMTXRIUzRlT2pzWjIrejUxZTJEb1lDVXREK2kweFhL?= =?iso-2022-jp?B?VUJaV2ZoR2VDVnp6Ym9YLzNkOG1ldDFrL0YrR3JDZWhndTBwR3RLRWtS?= =?iso-2022-jp?B?NXNDd2xhdHgxd0VsYytxUUx6VjloNzAwZXhaL3VDNmRmSHpocXJaL2JM?= =?iso-2022-jp?B?b3g5YWVpYVc4VkFqclVLRkJWMkV1YW9aVHhqYm8veFNwUUNCUWo1UVBl?= =?iso-2022-jp?B?TURJZjZya001WDcvU3dxMTMyeTNETmdHbzdiZE5MV3FlUU1LdnBzaTZE?= =?iso-2022-jp?B?S0Y5OTRTNkxYbVUxVnIvMlhDeWVHZCtrT0I1ZmdkOUt1SVJYUEhsMlNk?= =?iso-2022-jp?B?ekhaVEMzZng1djAwQ2J2elh1cVJYc2RRT1kxNnhwM3ZEUUwxNGt3QWpy?= =?iso-2022-jp?B?RjAza3BZS2hoZEF6MFpXaURHMDAzcFpoOHdkUDhZbHNERHEvSk5yLzdQ?= =?iso-2022-jp?B?K2cxYXA2d2NIYWlQQnVydlNBblNPUzA0Wm9KK0hSV2pUQjUvNTlUMnR6?= =?iso-2022-jp?B?TzRiK0pRUlMzNG1WRGptbGpqZU1PMWFVL1BrREdIeXpVbjdOakFPRVJJ?= =?iso-2022-jp?B?bzFaVGZPNkdBUE10c1hmU3BqR3N6QXJPWHZrbjJSSGNzS2NoWmtka0V6?= =?iso-2022-jp?B?Zk5YL2xiejZzNU9MUkNud1NDVHozaEYwbEt0Q1hvL1lISzBreHduZEtv?= =?iso-2022-jp?B?bkRNUis1c2MwbHQ3VUE2NWNLZVNqR1czUnRGRENrWWJvd1hRTzFsNTU5?= =?iso-2022-jp?B?VDRvYUdlMFpoZytCVVgrdDEwUG12Z3FjR2dINlVWWmlXMGVUdm5xU0E4?= =?iso-2022-jp?B?V0Q4TmM0QXVRZE1QTHVVakY2b3FqbDZodHdLYmgzUFRybUtNODNRWTEy?= =?iso-2022-jp?B?NjhUZ3ZHYTFGRHFOZ1AyUmhmM2twNDVmakgxWGZjNlZEcHkvT2U5MGdX?= =?iso-2022-jp?B?NVZlVHF2ZzdxYmJ3YktKNGRGSmwyTEozWCtkYm9pbHc2dHc5STcycFpL?= =?iso-2022-jp?B?cmFSS1F5K0liUW5jVUpPVmdNVlVlc01sZ3gvd2doVTAvd3BDQXBMSHo3?= =?iso-2022-jp?B?TXE1TnNBT1pVSFZNdlpZc0hiL21sMHA1aWhYbFJQbURSeWF3ZWZPSUdZ?= =?iso-2022-jp?B?MFAwR3RaQTUwLzRKR0p4aGZVV3FVMVJqb2hDZHM4Q3dGYWtpak5WcHZL?= =?iso-2022-jp?B?M1F5cUZBV2lyTjFrM3JZaHU3WkVERHFNZW91RFNyU080WDMzK3o0K2FI?= =?iso-2022-jp?B?eFp6RUs0QkE1ZWFFcWxaWDRqR2NLS2kyM09nSlNWb1o2NjFxZVpiSjZP?= =?iso-2022-jp?B?b0VtZW9GK1drR3NCQ3l5R1N3Ykg5ZzZZWlNYRitSYkhBZGRoL25qYmFy?= =?iso-2022-jp?B?YmZrdg==?= Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO3PR18MB5005.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 990bb2d6-4b76-4454-25f1-08db2604f205 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2023 09:58:08.5049 (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: 4ga1F7j/kMYq8Vor5ERNbVnsHAUbZyf/TZpbTSWLQPBsLHu9HKQGCfcSiViWEt2K6ZQcJEmC4zhjxUKTNivSGg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB5144 X-Proofpoint-GUID: z3gLwzc_MoPVkKkzN8-jWyUdYuurzrGz X-Proofpoint-ORIG-GUID: z3gLwzc_MoPVkKkzN8-jWyUdYuurzrGz X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_06,2023-03-15_01,2023-02-09_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 >Hi Ankur, > >I get an error message when I launch testpmd with Asan, I need your help t= o >confirm this issue. >For more information please refer to >https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__bugs.dpdk.org_show- >5Fbug.cgi-3Fid- >3D1184&d=3DDwIFJg&c=3DnKjWec2b6R0mOyPaz7xtfQ&r=3DILjiNF3GF25y6QdHZUxMl >6JrStU0MIuCtO5dMzn3Ybk&m=3DiJXvZTgkVUt077WhptysM_vjUBfDR03DyP2zwu >xwH0EU5LK5mDPR8UX_R8LwrXgW&s=3D9Q4JEF7FpzXLRHZ09w4hJqdhgF_ncJ8HF >jCGqX0sVFc&e=3D . >Waiting for your reply. I could recreate this issue with clang-10 compilation. I have up streamed a= patch in dpdk patchworks, which resolves this issue as a workaround. The f= ollowing is the link of the patch: https://patches.dpdk.org/project/dpdk/list/?series=3D27418 > >Best regards, >Dukai,Yuan > >> -----Original Message----- >> From: Ankur Dwivedi >> Sent: 2023=1B$BG/=1B(B2=1B$B7n=1B(B8=1B$BF|=1B(B 21:28 >> To: dev@dpdk.org >> Cc: thomas@monjalon.net; david.marchand@redhat.com; mdr@ashroe.eu; >> orika@nvidia.com; ferruh.yigit@amd.com; chas3@att.com; >> humin29@huawei.com; linville@tuxdriver.com; Loftus, Ciara >> ; Zhang, Qi Z ; >> mw@semihalf.com; mk@semihalf.com; shaibran@amazon.com; >> evgenys@amazon.com; igorch@amazon.com; chandu@amd.com; >> irusskikh@marvell.com; Shepard Siegel >> ; Czeck, Ed >> ; john.miller@atomicrules.com; >> ajit.khaparde@broadcom.com; somnath.kotur@broadcom.com; >> jerinj@marvell.com; mczekaj@marvell.com; sthotton@marvell.com; >> srinivasan@marvell.com; hkalra@marvell.com; >> rahul.lakkireddy@chelsio.com; Daley, John ; >> hyonkim@cisco.com; liudongdong3@huawei.com; >yisen.zhuang@huawei.com; >> xuanziyang2@huawei.com; cloud.wangxiaoyun@huawei.com; >> zhouguoyang@huawei.com; Su, Simei ; Wu, Wenjun1 >> ; Yang, Qiming ; Zhang, >> Yuying ; Xing, Beilei ; >> Wang, Xiao W ; Wu, Jingjing >> ; Guo, Junfeng ; Xu, >> Rosen ; ndabilpuram@marvell.com; >> kirankumark@marvell.com; skori@marvell.com; skoteshwar@marvell.com; >> lironh@marvell.com; zr@semihalf.com; radhac@marvell.com; >> vburru@marvell.com; sedara@marvell.com; matan@nvidia.com; >> viacheslavo@nvidia.com; longli@microsoft.com; spinler@cesnet.cz; >> chaoyong.he@corigine.com; niklas.soderlund@corigine.com; >> hemant.agrawal@nxp.com; sachin.saxena@oss.nxp.com; >g.singh@nxp.com; >> apeksha.gupta@nxp.com; sachin.saxena@nxp.com; aboyer@pensando.io; >> rmody@marvell.com; shshaikh@marvell.com; dsinghrawat@marvell.com; >> andrew.rybchenko@oktetlabs.ru; jiawenwu@trustnetic.com; >> jianwang@trustnetic.com; Behrens, Jochen ; >> maxime.coquelin@redhat.com; Xia, Chenbo ; >> Webster, Steven ; Peters, Matt >> ; Richardson, Bruce >> ; mtetsuyah@gmail.com; grive@u256.net; >> Singh, Jasvinder ; Dumitrescu, Cristian >> ; jgrajcia@cisco.com; >> mb@smartsharesystems.com; Ankur Dwivedi >> Subject: [PATCH v10 6/6] ethdev: add trace points for tm >> >> Adds trace points for rte_tm specific functions in ethdev lib. >> >> Signed-off-by: Ankur Dwivedi >> --- >> lib/ethdev/ethdev_trace.h | 304 >> +++++++++++++++++++++++++++++++ >> lib/ethdev/ethdev_trace_points.c | 90 +++++++++ >> lib/ethdev/rte_tm.c | 225 ++++++++++++++++++++--- >> 3 files changed, 590 insertions(+), 29 deletions(-) >> >> diff --git a/lib/ethdev/ethdev_trace.h b/lib/ethdev/ethdev_trace.h >> index 973e2ac6d4..0b0a791aeb 100644 >> --- a/lib/ethdev/ethdev_trace.h >> +++ b/lib/ethdev/ethdev_trace.h >> @@ -20,6 +20,7 @@ extern "C" { >> >> #include "rte_ethdev.h" >> #include "rte_mtr.h" >> +#include "rte_tm.h" >> >> RTE_TRACE_POINT( >> rte_ethdev_trace_configure, >> @@ -1831,6 +1832,309 @@ RTE_TRACE_POINT( >> rte_trace_point_emit_int(ret); >> ) >> >> +RTE_TRACE_POINT( >> + rte_tm_trace_get_number_of_leaf_nodes, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t n_leaf_nodes), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(n_leaf_nodes); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_type_get, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int >> is_leaf, >> + int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_int(is_leaf); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_capabilities_get, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, >> + const struct rte_tm_capabilities *cap, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_ptr(cap); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_level_capabilities_get, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t level_id, >> + const struct rte_tm_level_capabilities *cap, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(level_id); >> + rte_trace_point_emit_ptr(cap); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_capabilities_get, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + const struct rte_tm_node_capabilities *cap, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_ptr(cap); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_wred_profile_add, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t wred_profile_id, >> + const struct rte_tm_wred_params *profile, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(wred_profile_id); >> + rte_trace_point_emit_ptr(profile); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_wred_profile_delete, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t wred_profile_id, >> + int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(wred_profile_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_shared_wred_context_add_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t >> shared_wred_context_id, >> + uint32_t wred_profile_id, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(shared_wred_context_id); >> + rte_trace_point_emit_u32(wred_profile_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_shared_wred_context_delete, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t >> shared_wred_context_id, >> + int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(shared_wred_context_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_shaper_profile_add, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t >> shaper_profile_id, >> + const struct rte_tm_shaper_params *profile, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(shaper_profile_id); >> + rte_trace_point_emit_ptr(profile); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_shaper_profile_delete, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t >> shaper_profile_id, >> + int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(shaper_profile_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_shared_shaper_add_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t >> shared_shaper_id, >> + uint32_t shaper_profile_id, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(shared_shaper_id); >> + rte_trace_point_emit_u32(shaper_profile_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_shared_shaper_delete, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t >> shared_shaper_id, >> + int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(shared_shaper_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_add, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + uint32_t parent_node_id, uint32_t priority, >> + uint32_t weight, uint32_t level_id, >> + const struct rte_tm_node_params *params, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_u32(parent_node_id); >> + rte_trace_point_emit_u32(priority); >> + rte_trace_point_emit_u32(weight); >> + rte_trace_point_emit_u32(level_id); >> + rte_trace_point_emit_ptr(params); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_delete, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int >> ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_suspend, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int >> ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_resume, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int >> ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_hierarchy_commit, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, int clear_on_fail, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_int(clear_on_fail); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_parent_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + uint32_t parent_node_id, uint32_t priority, >> + uint32_t weight, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_u32(parent_node_id); >> + rte_trace_point_emit_u32(priority); >> + rte_trace_point_emit_u32(weight); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_shaper_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + uint32_t shaper_profile_id, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_u32(shaper_profile_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_shared_shaper_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + uint32_t shared_shaper_id, int add, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_u32(shared_shaper_id); >> + rte_trace_point_emit_int(add); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_stats_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + uint64_t stats_mask, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_u64(stats_mask); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_wfq_weight_mode_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + const int *wfq_weight_mode, uint32_t n_sp_priorities, >> + int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_ptr(wfq_weight_mode); >> + rte_trace_point_emit_u32(n_sp_priorities); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_cman_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + enum rte_tm_cman_mode cman, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_int(cman); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_wred_context_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + uint32_t wred_profile_id, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_u32(wred_profile_id); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_shared_wred_context_update, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + uint32_t shared_wred_context_id, int add, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_u32(shared_wred_context_id); >> + rte_trace_point_emit_int(add); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_node_stats_read, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, >> + const struct rte_tm_node_stats *stats, >> + uint64_t stats_mask, int clear, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_u32(node_id); >> + rte_trace_point_emit_ptr(stats); >> + rte_trace_point_emit_u64(stats_mask); >> + rte_trace_point_emit_int(clear); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_mark_vlan_dei, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green, >> + int mark_yellow, int mark_red, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_int(mark_green); >> + rte_trace_point_emit_int(mark_yellow); >> + rte_trace_point_emit_int(mark_red); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_mark_ip_ecn, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green, >> + int mark_yellow, int mark_red, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_int(mark_green); >> + rte_trace_point_emit_int(mark_yellow); >> + rte_trace_point_emit_int(mark_red); >> + rte_trace_point_emit_int(ret); >> +) >> + >> +RTE_TRACE_POINT( >> + rte_tm_trace_mark_ip_dscp, >> + RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green, >> + int mark_yellow, int mark_red, int ret), >> + rte_trace_point_emit_u16(port_id); >> + rte_trace_point_emit_int(mark_green); >> + rte_trace_point_emit_int(mark_yellow); >> + rte_trace_point_emit_int(mark_red); >> + rte_trace_point_emit_int(ret); >> +) >> + >> /* Fast path trace points */ >> >> /* Called in loop in examples/qos_sched and examples/distributor */ >> diff -- git a/lib/ethdev/ethdev_trace_points.c >> b/lib/ethdev/ethdev_trace_points.c >> index c34c06941c..34d12e2859 100644 >> --- a/lib/ethdev/ethdev_trace_points.c >> +++ b/lib/ethdev/ethdev_trace_points.c >> @@ -654,3 +654,93 @@ >> >RTE_TRACE_POINT_REGISTER(rte_mtr_trace_color_in_protocol_priority_get, >> >> RTE_TRACE_POINT_REGISTER(rte_mtr_trace_color_in_protocol_set, >> lib.ethdev.mtr.color_in_protocol_set) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_capabilities_get, >> + lib.ethdev.tm.capabilities_get) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_get_number_of_leaf_nodes, >> + lib.ethdev.tm.get_number_of_leaf_nodes) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_hierarchy_commit, >> + lib.ethdev.tm.hierarchy_commit) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_level_capabilities_get, >> + lib.ethdev.tm.level_capabilities_get) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_mark_ip_dscp, >> + lib.ethdev.tm.mark_ip_dscp) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_mark_ip_ecn, >> + lib.ethdev.tm.mark_ip_ecn) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_mark_vlan_dei, >> + lib.ethdev.tm.mark_vlan_dei) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_add, >> + lib.ethdev.tm.node_add) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_capabilities_get, >> + lib.ethdev.tm.node_capabilities_get) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_cman_update, >> + lib.ethdev.tm.node_cman_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_delete, >> + lib.ethdev.tm.node_delete) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_parent_update, >> + lib.ethdev.tm.node_parent_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_resume, >> + lib.ethdev.tm.node_resume) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_shaper_update, >> + lib.ethdev.tm.node_shaper_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_shared_shaper_update, >> + lib.ethdev.tm.node_shared_shaper_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_shared_wred_context_ >> update, >> + lib.ethdev.tm.node_shared_wred_context_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_stats_read, >> + lib.ethdev.tm.node_stats_read) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_stats_update, >> + lib.ethdev.tm.node_stats_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_suspend, >> + lib.ethdev.tm.node_suspend) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_type_get, >> + lib.ethdev.tm.node_type_get) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_wfq_weight_mode_up >> date, >> + lib.ethdev.tm.node_wfq_weight_mode_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_node_wred_context_update, >> + lib.ethdev.tm.node_wred_context_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_shaper_profile_add, >> + lib.ethdev.tm.shaper_profile_add) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_shaper_profile_delete, >> + lib.ethdev.tm.shaper_profile_delete) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_shared_shaper_add_update, >> + lib.ethdev.tm.shared_shaper_add_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_shared_shaper_delete, >> + lib.ethdev.tm.shared_shaper_delete) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_shared_wred_context_add_u >> pdate, >> + lib.ethdev.tm.shared_wred_context_add_update) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_shared_wred_context_delete, >> + lib.ethdev.tm.shared_wred_context_delete) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_wred_profile_add, >> + lib.ethdev.tm.wred_profile_add) >> + >> +RTE_TRACE_POINT_REGISTER(rte_tm_trace_wred_profile_delete, >> + lib.ethdev.tm.wred_profile_delete) >> diff --git a/lib/ethdev/rte_tm.c b/lib/ethdev/rte_tm.c index >> 9709454f35..2d08141133 100644 >> --- a/lib/ethdev/rte_tm.c >> +++ b/lib/ethdev/rte_tm.c >> @@ -5,6 +5,7 @@ >> #include >> >> #include >> +#include "ethdev_trace.h" >> #include "rte_ethdev.h" >> #include "rte_tm_driver.h" >> #include "rte_tm.h" >> @@ -79,6 +80,9 @@ rte_tm_get_number_of_leaf_nodes(uint16_t port_id, >> } >> >> *n_leaf_nodes =3D dev->data->nb_tx_queues; >> + >> + rte_tm_trace_get_number_of_leaf_nodes(port_id, *n_leaf_nodes); >> + >> return 0; >> } >> >> @@ -90,8 +94,13 @@ rte_tm_node_type_get(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_type_get)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_type_get)(dev, >> node_id, is_leaf, error); >> + >> + rte_tm_trace_node_type_get(port_id, node_id, *is_leaf, ret); >> + >> + return ret; >> } >> >> /* Get capabilities */ >> @@ -100,8 +109,13 @@ int rte_tm_capabilities_get(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, capabilities_get)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, capabilities_get)(dev, >> cap, error); >> + >> + rte_tm_trace_capabilities_get(port_id, cap, ret); >> + >> + return ret; >> } >> >> /* Get level capabilities */ >> @@ -111,8 +125,13 @@ int rte_tm_level_capabilities_get(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, level_capabilities_get)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, level_capabilities_get)(dev, >> level_id, cap, error); >> + >> + rte_tm_trace_level_capabilities_get(port_id, level_id, cap, ret); >> + >> + return ret; >> } >> >> /* Get node capabilities */ >> @@ -122,8 +141,13 @@ int rte_tm_node_capabilities_get(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_capabilities_get)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_capabilities_get)(dev, >> node_id, cap, error); >> + >> + rte_tm_trace_node_capabilities_get(port_id, node_id, cap, ret); >> + >> + return ret; >> } >> >> /* Add WRED profile */ >> @@ -133,8 +157,13 @@ int rte_tm_wred_profile_add(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, wred_profile_add)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, wred_profile_add)(dev, >> wred_profile_id, profile, error); >> + >> + rte_tm_trace_wred_profile_add(port_id, wred_profile_id, profile, >> ret); >> + >> + return ret; >> } >> >> /* Delete WRED profile */ >> @@ -143,8 +172,13 @@ int rte_tm_wred_profile_delete(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, wred_profile_delete)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, wred_profile_delete)(dev, >> wred_profile_id, error); >> + >> + rte_tm_trace_wred_profile_delete(port_id, wred_profile_id, ret); >> + >> + return ret; >> } >> >> /* Add/update shared WRED context */ >> @@ -154,8 +188,15 @@ int >> rte_tm_shared_wred_context_add_update(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, >> shared_wred_context_add_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, >> shared_wred_context_add_update)(dev, >> shared_wred_context_id, wred_profile_id, error); >> + >> + rte_tm_trace_shared_wred_context_add_update(port_id, >> + shared_wred_context_id, >> + wred_profile_id, ret); >> + >> + return ret; >> } >> >> /* Delete shared WRED context */ >> @@ -164,8 +205,14 @@ int rte_tm_shared_wred_context_delete(uint16_t >> port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, shared_wred_context_delete)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, shared_wred_context_delete)(dev, >> shared_wred_context_id, error); >> + >> + rte_tm_trace_shared_wred_context_delete(port_id, >> + shared_wred_context_id, >> ret); >> + >> + return ret; >> } >> >> /* Add shaper profile */ >> @@ -175,8 +222,14 @@ int rte_tm_shaper_profile_add(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, shaper_profile_add)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, shaper_profile_add)(dev, >> shaper_profile_id, profile, error); >> + >> + rte_tm_trace_shaper_profile_add(port_id, shaper_profile_id, >> profile, >> + ret); >> + >> + return ret; >> } >> >> /* Delete WRED profile */ >> @@ -185,8 +238,13 @@ int rte_tm_shaper_profile_delete(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, shaper_profile_delete)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, shaper_profile_delete)(dev, >> shaper_profile_id, error); >> + >> + rte_tm_trace_shaper_profile_delete(port_id, shaper_profile_id, >> ret); >> + >> + return ret; >> } >> >> /* Add shared shaper */ >> @@ -196,8 +254,14 @@ int rte_tm_shared_shaper_add_update(uint16_t >> port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, shared_shaper_add_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, shared_shaper_add_update)(dev, >> shared_shaper_id, shaper_profile_id, error); >> + >> + rte_tm_trace_shared_shaper_add_update(port_id, >> shared_shaper_id, >> + shaper_profile_id, ret); >> + >> + return ret; >> } >> >> /* Delete shared shaper */ >> @@ -206,8 +270,13 @@ int rte_tm_shared_shaper_delete(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, shared_shaper_delete)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, shared_shaper_delete)(dev, >> shared_shaper_id, error); >> + >> + rte_tm_trace_shared_shaper_delete(port_id, shared_shaper_id, >> ret); >> + >> + return ret; >> } >> >> /* Add node to port traffic manager hierarchy */ @@ -221,9 +290,15 @@ >> int rte_tm_node_add(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_add)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_add)(dev, >> node_id, parent_node_id, priority, weight, level_id, >> params, error); >> + >> + rte_tm_trace_node_add(port_id, node_id, parent_node_id, priority, >> + weight, level_id, params, ret); >> + >> + return ret; >> } >> >> /* Delete node from traffic manager hierarchy */ @@ -232,8 +307,13 @@ >> int rte_tm_node_delete(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_delete)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_delete)(dev, >> node_id, error); >> + >> + rte_tm_trace_node_delete(port_id, node_id, ret); >> + >> + return ret; >> } >> >> /* Suspend node */ >> @@ -242,8 +322,13 @@ int rte_tm_node_suspend(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_suspend)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_suspend)(dev, >> node_id, error); >> + >> + rte_tm_trace_node_suspend(port_id, node_id, ret); >> + >> + return ret; >> } >> >> /* Resume node */ >> @@ -252,8 +337,13 @@ int rte_tm_node_resume(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_resume)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_resume)(dev, >> node_id, error); >> + >> + rte_tm_trace_node_resume(port_id, node_id, ret); >> + >> + return ret; >> } >> >> /* Commit the initial port traffic manager hierarchy */ @@ -262,8 >> +352,13 @@ int rte_tm_hierarchy_commit(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, hierarchy_commit)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, hierarchy_commit)(dev, >> clear_on_fail, error); >> + >> + rte_tm_trace_hierarchy_commit(port_id, clear_on_fail, ret); >> + >> + return ret; >> } >> >> /* Update node parent */ >> @@ -275,8 +370,14 @@ int rte_tm_node_parent_update(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_parent_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_parent_update)(dev, >> node_id, parent_node_id, priority, weight, error); >> + >> + rte_tm_trace_node_parent_update(port_id, node_id, >> parent_node_id, >> + priority, weight, ret); >> + >> + return ret; >> } >> >> /* Update node private shaper */ >> @@ -286,8 +387,14 @@ int rte_tm_node_shaper_update(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_shaper_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_shaper_update)(dev, >> node_id, shaper_profile_id, error); >> + >> + rte_tm_trace_node_shaper_update(port_id, node_id, >> shaper_profile_id, >> + ret); >> + >> + return ret; >> } >> >> /* Update node shared shapers */ >> @@ -298,8 +405,14 @@ int rte_tm_node_shared_shaper_update(uint16_t >> port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_shared_shaper_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_shared_shaper_update)(dev, >> node_id, shared_shaper_id, add, error); >> + >> + rte_tm_trace_node_shared_shaper_update(port_id, node_id, >> + shared_shaper_id, add, ret); >> + >> + return ret; >> } >> >> /* Update node stats */ >> @@ -309,8 +422,13 @@ int rte_tm_node_stats_update(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_stats_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_stats_update)(dev, >> node_id, stats_mask, error); >> + >> + rte_tm_trace_node_stats_update(port_id, node_id, stats_mask, >> ret); >> + >> + return ret; >> } >> >> /* Update WFQ weight mode */ >> @@ -321,8 +439,15 @@ int >> rte_tm_node_wfq_weight_mode_update(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, >> node_wfq_weight_mode_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, >> node_wfq_weight_mode_update)(dev, >> node_id, wfq_weight_mode, n_sp_priorities, error); >> + >> + rte_tm_trace_node_wfq_weight_mode_update(port_id, node_id, >> + wfq_weight_mode, >> + n_sp_priorities, ret); >> + >> + return ret; >> } >> >> /* Update node congestion management mode */ @@ -332,8 +457,13 @@ >int >> rte_tm_node_cman_update(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_cman_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_cman_update)(dev, >> node_id, cman, error); >> + >> + rte_tm_trace_node_cman_update(port_id, node_id, cman, ret); >> + >> + return ret; >> } >> >> /* Update node private WRED context */ @@ -343,8 +473,14 @@ int >> rte_tm_node_wred_context_update(uint16_t >> port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_wred_context_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_wred_context_update)(dev, >> node_id, wred_profile_id, error); >> + >> + rte_tm_trace_node_wred_context_update(port_id, node_id, >> wred_profile_id, >> + ret); >> + >> + return ret; >> } >> >> /* Update node shared WRED context */ @@ -355,8 +491,15 @@ int >> rte_tm_node_shared_wred_context_update(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, >> node_shared_wred_context_update)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, >> node_shared_wred_context_update)(dev, >> node_id, shared_wred_context_id, add, error); >> + >> + rte_tm_trace_node_shared_wred_context_update(port_id, >> node_id, >> + shared_wred_context_id, >> + add, ret); >> + >> + return ret; >> } >> >> /* Read and/or clear stats counters for specific node */ @@ -368,8 >> +511,14 @@ int rte_tm_node_stats_read(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, node_stats_read)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, node_stats_read)(dev, >> node_id, stats, stats_mask, clear, error); >> + >> + rte_tm_trace_node_stats_read(port_id, node_id, stats, >> *stats_mask, >> + clear, ret); >> + >> + return ret; >> } >> >> /* Packet marking - VLAN DEI */ >> @@ -380,8 +529,14 @@ int rte_tm_mark_vlan_dei(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, mark_vlan_dei)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, mark_vlan_dei)(dev, >> mark_green, mark_yellow, mark_red, error); >> + >> + rte_tm_trace_mark_vlan_dei(port_id, mark_green, mark_yellow, >> mark_red, >> + ret); >> + >> + return ret; >> } >> >> /* Packet marking - IPv4/IPv6 ECN */ >> @@ -392,8 +547,14 @@ int rte_tm_mark_ip_ecn(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, mark_ip_ecn)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, mark_ip_ecn)(dev, >> mark_green, mark_yellow, mark_red, error); >> + >> + rte_tm_trace_mark_ip_ecn(port_id, mark_green, mark_yellow, >> mark_red, >> + ret); >> + >> + return ret; >> } >> >> /* Packet marking - IPv4/IPv6 DSCP */ @@ -404,6 +565,12 @@ int >> rte_tm_mark_ip_dscp(uint16_t port_id, >> struct rte_tm_error *error) >> { >> struct rte_eth_dev *dev =3D &rte_eth_devices[port_id]; >> - return RTE_TM_FUNC(port_id, mark_ip_dscp)(dev, >> + int ret; >> + ret =3D RTE_TM_FUNC(port_id, mark_ip_dscp)(dev, >> mark_green, mark_yellow, mark_red, error); >> + >> + rte_tm_trace_mark_ip_dscp(port_id, mark_green, mark_yellow, >> mark_red, >> + ret); >> + >> + return ret; >> } >> -- >> 2.25.1