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 6A967A034C; Thu, 22 Dec 2022 16:21:06 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03770410D3; Thu, 22 Dec 2022 16:21:06 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id B3FD4410D0 for ; Thu, 22 Dec 2022 16:21:03 +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 2BM7Ml9O015766; Thu, 22 Dec 2022 07:18:27 -0800 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2107.outbound.protection.outlook.com [104.47.58.107]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3mm79c57f1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 22 Dec 2022 07:18:27 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jvaq9o+Xx/okGPrTellumkMkCl+8No6lF6jKoQxTdHMpYibAjv5I9Cge9NEUIl/AlkXfJ/StIFTK81ZvuCsPLdHfAvuhVOBAgF9tmwFfRyGk9McfiK2ZvHPoqZh/l3/A63QGIpGSJr8S1gxFyoseCWcgs04PcZ5x0W4PPTOsSjw7dlHRPi4A2FvSmHGQ1igo7zWC3NMozhkh+f6H0ZGwbQeTZ8vs5IgFPZMhlkGG8bRkbPPdL2lMwVy+PCo2l3vfXJ1aw0lsru60EvLdDhOtLzDSd9tY0MguYBUF+7Z9yohw4hj05VYksV4U4VKpiTiUupsf0241JoDVOiHw5ZF/qg== 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=JqzvezbMLgypNc9p/BrOI+9BPB40ht0uEyyjUOPyzFU=; b=nsh1Jj9zonecaWrdMkLpIBtWORJPfqizINn80fHWk05+zzhypbVHa2anw6ZctTG7rHDL5MOc0X7ew+njiRP9j5+AeAoMZapibjwbtJWGMGOroqvh8IwtAo8oxORmGoHngB6O5k1X79ZoKcRRi+LlUURvoAYGLB75u+Iu4l79MQBvPK/0uhjcpkkU3KG1HLdCmV7sgGaWxbU7qG66pVRy5oUd2LiRq+nkRdjAfjxmCTnNy0secfN9D6E0B6BQaJrLttYux3cGDJw8h3rZfSeISlT+sOCkP2emqvXhqzcslpHqSTlPAIN8gahRv0XZ1CvsXxxds8hVowtZWf+yFSskZw== 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=JqzvezbMLgypNc9p/BrOI+9BPB40ht0uEyyjUOPyzFU=; b=A7VZJIJ3M/Qa0tQu8HFNJvO7jHapmZsHo7t2PR1bT6vbG3151IOftSuqhR2NBCeeVQAnt/wrRpkSmWMq0sgV6EsmKOdUmD86EoczcF1yCXjtTriND7/E9s8/439gb8AZsc3wHZtqxfYdqhwZ2quN09sj6lsB+Px0V5S3OZE3Y40= Received: from PH0PR18MB5003.namprd18.prod.outlook.com (2603:10b6:510:11e::10) by PH0PR18MB3862.namprd18.prod.outlook.com (2603:10b6:510:22::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec 2022 15:18:21 +0000 Received: from PH0PR18MB5003.namprd18.prod.outlook.com ([fe80::33ba:df36:b1da:2b99]) by PH0PR18MB5003.namprd18.prod.outlook.com ([fe80::33ba:df36:b1da:2b99%7]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022 15:18:21 +0000 From: Ankur Dwivedi To: =?iso-8859-1?Q?Morten_Br=F8rup?= , "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" , "ciara.loftus@intel.com" , "qi.z.zhang@intel.com" , "mw@semihalf.com" , "mk@semihalf.com" , "shaibran@amazon.com" , "evgenys@amazon.com" , "igorch@amazon.com" , "chandu@amd.com" , Igor Russkikh , "shepard.siegel@atomicrules.com" , "ed.czeck@atomicrules.com" , "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" , "johndale@cisco.com" , "hyonkim@cisco.com" , "liudongdong3@huawei.com" , "yisen.zhuang@huawei.com" , "xuanziyang2@huawei.com" , "cloud.wangxiaoyun@huawei.com" , "zhouguoyang@huawei.com" , "simei.su@intel.com" , "wenjun1.wu@intel.com" , "qiming.yang@intel.com" , "Yuying.Zhang@intel.com" , "beilei.xing@intel.com" , "xiao.w.wang@intel.com" , "jingjing.wu@intel.com" , "junfeng.guo@intel.com" , "rosen.xu@intel.com" , 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" , "jbehrens@vmware.com" , "maxime.coquelin@redhat.com" , "chenbo.xia@intel.com" , "steven.webster@windriver.com" , "matt.peters@windriver.com" , "bruce.richardson@intel.com" , "mtetsuyah@gmail.com" , "grive@u256.net" , "jasvinder.singh@intel.com" , "cristian.dumitrescu@intel.com" , "jgrajcia@cisco.com" , Jerin Jacob Kollanukkaran Subject: RE: [PATCH v4 1/6] eal: trace: add trace point emit for array Thread-Topic: [PATCH v4 1/6] eal: trace: add trace point emit for array Thread-Index: AQHZFc9vRrQF1PY4QkewCmL2LAIjPK55td2AgABEf2A= Date: Thu, 22 Dec 2022 15:18:21 +0000 Message-ID: References: <20221006151844.23483-1-adwivedi@marvell.com> <20221222063306.3383695-1-adwivedi@marvell.com> <20221222063306.3383695-2-adwivedi@marvell.com> <98CBD80474FA8B44BF855DF32C47DC35D875DA@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D875DA@smartserver.smartshare.dk> 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-8859-1?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcYWR3aXZlZG?= =?iso-8859-1?Q?lcYXBwZGF0YVxyb2FtaW5nXDA5ZDg0OWI2LTMyZDMtNGE0MC04NWVlLTZi?= =?iso-8859-1?Q?ODRiYTI5ZTM1Ylxtc2dzXG1zZy1kMjJjMDUwZC04MjBiLTExZWQtOTUwMy?= =?iso-8859-1?Q?1lODZhNjQyNWYwOTJcYW1lLXRlc3RcZDIyYzA1MGUtODIwYi0xMWVkLTk1?= =?iso-8859-1?Q?MDMtZTg2YTY0MjVmMDkyYm9keS50eHQiIHN6PSIxMDg4OSIgdD0iMTMzMT?= =?iso-8859-1?Q?YxOTU4OTAxNTQzMzMxIiBoPSI3TTk4dXNhK2puL1loc3Z3N1loTnFrb3B6?= =?iso-8859-1?Q?U1E9IiBpZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVU?= =?iso-8859-1?Q?ZOQ2dVQUFOZ0hBQUNqOGV1WkdCYlpBY3dvR1o3dUNFNll6Q2dabnU0SVRw?= =?iso-8859-1?Q?Z01BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFCb0J3QUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBRUFBUUFCQUFBQTNUekZBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUo0QUFBQmhBR1FBWkFCeUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0?= =?iso-8859-1?Q?FBQUdNQWRRQnpBSFFBYndCdEFGOEFjQUJsQUhJQWN3QnZBRzRBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFZd0Ix?= =?iso-8859-1?Q?QUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdVQWJnQjFBRzBBWWdCbEFISU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCakFIVUFjd0IwQU?= =?iso-8859-1?Q?c4QWJRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlBTUFBeUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW?= =?iso-8859-1?Q?5nQUFBR01BZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIz?= =?iso-8859-1?Q?QUc4QWNnQmtBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3?= =?iso-8859-1?Q?QjFBSE1BZEFCdkFHMEFYd0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQU?= =?iso-8859-1?Q?cwQWFRQjBBR1VBY2dCZkFIWUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJqQUhVQWN3Qj?= =?iso-8859-1?Q?BBRzhBYlFCZkFITUFjd0J1QUY4QWN3QndBR0VBWXdCbEFGOEFkZ0F3QURJ?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHUUFiQUJ3QUY4QWN3QnJB?= =?iso-8859-1?Q?SGtBY0FCbEFGOEFZd0JvQUdFQWRBQmZBRzBBWlFCekFITUFZUUJuQUdVQV?= =?iso-8859-1?Q?h3QjJBREFBTWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFB?= =?iso-8859-1?Q?QUFBQUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFYd0J6QUd3QVlRQmpBR3?= =?iso-8859-1?Q?NBWHdCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFHY0FaUUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU?= =?iso-8859-1?Q?FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?iso-8859-1?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: QUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZkFIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lBYVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFaQUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVZ3QUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIUUFaUUJ5QUcwQWFRQnVBSFVBY3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBQT09Ii8+PC9tZXRhPg== x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB5003:EE_|PH0PR18MB3862:EE_ x-ms-office365-filtering-correlation-id: 2fcdf686-982e-45bc-e55e-08dae42fc2f0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 93vFXiFI4DywsrYdfRayqBUjpiYeqRKJbkb9eMCJh/d7GLCB+pIbcwMhGZuNQCtyy835NSLm0FiR6ryE6G1YlVMIQ4X2EEGHxWuDA7YhXHTTPx5TGEuc+2lkvTBXwJKiwR8R5UVuB3bgsfLfzSJmy+kACjFyYmAorCYuM6zhaSKYNync+4H6hhCyn6RZ+uoiQbboiM367qJsD/db9IbBiU4bCvJJPBc0HngOz0bTW1ORbPVh3AtrYYIlRfsAZmevTGEWlzDLFavSLuT/NyOxv5umgrs+yVAh6gQzvJ8ln2JTOxXHOFlyKKhHYfvtvNNzVfe546Fcg90lJsiAZn/QqM39QPbwqjlSEyr0GCtkSUjgs9GLmk2fKez1Nu7eZ6I3EzZBNJ6p0E7TZm/6AIW+7BI50p7fqeJzkxmy9ySM05cu1gvQK3M3uyl/jPO/dOvyNzCdpigtH9hkwwv+xNZEFKCN0L+A2hI1q+2yZ+OmklYLVYaWBLj3RELHEs6rteVLZ7oDlG0KbBFmavv28bpV9RXTQveqb0ZYwvmyPAfZk11MM3H9fp7bhQ4MYI/RGzHid7iNYGYjYpsagmm5VDpbJei01O9tw0TuKxy7xi+nIbLp8rw6PueBdcCwD/bjjKj1FkWE5qtqmxVCbkYhydk7tL5uwsM5V0Eai8CjDHLUfoVcxkP/w8o7F6Uicwb4zAu2y5+BSG3pefCcCm+jLlmVMPEiZInMl+2kRTnp+nq7oms= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB5003.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(136003)(376002)(39860400002)(396003)(346002)(366004)(451199015)(8676002)(33656002)(45080400002)(2906002)(55016003)(26005)(9686003)(4326008)(66476007)(64756008)(66556008)(52536014)(41300700001)(478600001)(71200400001)(186003)(7696005)(54906003)(316002)(966005)(110136005)(7406005)(38070700005)(7416002)(7366002)(38100700002)(5660300002)(66574015)(66446008)(66946007)(6506007)(76116006)(83380400001)(122000001)(86362001)(8936002)(107886003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?RuZ++vZvb7w7h7PTdmHWDoH7U54N/nhIeMmccFddtRK20DylQRxO74TVp0?= =?iso-8859-1?Q?J6ZqmzNVoj4+RrVjTGKhzlsPVILY2qzfLCBdCD9WC0qFBxKm2doltogT0g?= =?iso-8859-1?Q?dJRWlX8vn25h4gEBCBsOAJU8t26A3wPUnTrgt9pwymbW/cQb4K134fmNJY?= =?iso-8859-1?Q?4YPs16eRmgvF668fH+0WBUZZw35zwLSK06+FvbtdeAWByEOB3gvNAMWhI3?= =?iso-8859-1?Q?nFRjU4EcsGLJHdM1VrWfI/uvKu4TdN4QG/6EGkckETfKPPRI2bFrGahoI3?= =?iso-8859-1?Q?toNX/DKhADX4Uiylj6jt4Gi3bt41MnQ0ehsH2d4mhkocLRRfcsV//aKUWm?= =?iso-8859-1?Q?nW8NsLse5cDvl3wknIhKKB8exmcJ55OcCzpJB1qzaQeBRiRECdhdVhHa31?= =?iso-8859-1?Q?Hu3NO11xf8yCmh7VdPEhGyHQekw+U8dQ6IYD4SvMHqcQxDsU69kCmaqSAD?= =?iso-8859-1?Q?R3BACcDFYSTj3BwjJ/etV3yZfHBWByAadoy+qOu5Np+CQLSRxzJdB6q/u4?= =?iso-8859-1?Q?KZMy02lRrUCN5LPWL1Y8MmXe4KuVRo8vMUyqf2eoxnBFNDXSB5/rk5qUMv?= =?iso-8859-1?Q?izyga2PpubZW50c2A3npzqnjzhhj6X93G7mPwBNcgId4tTFcUNozzO8zA5?= =?iso-8859-1?Q?7wrYNRWIRGOQErMnchjtd95UPVt7eQcvseiSUrQIKkndhWR8cihpMsYHTJ?= =?iso-8859-1?Q?V/c3chhHGNT9w/uaOL/DMeKm1LGGCXPufIYo1ljnaKYvU/ZbmFW0cLBxnn?= =?iso-8859-1?Q?1l+b1Evuv06VmGccjcBkhtTZPIdUt2KWWeQ9YR9DdtQjl2w4o9f8tparJN?= =?iso-8859-1?Q?rfcNn5n2kcsdo20yUxrCQPmmnT1VbuaatbmWCqnmNoY2IEixTAjZH7EBga?= =?iso-8859-1?Q?UjCrX/xw965r6jomin7Y5hQ9tN50QCiN0n/IVT1wABsSDueBn4sRu9eV4z?= =?iso-8859-1?Q?jxZVmKSBauRNQWEJPD2NbLRxFq+wlbfiu3O3EJ62/+uycwE7EWzu3he6tH?= =?iso-8859-1?Q?3ANmd5gm4sHhkHIAN5G3scIWr3M10BD1ZpqTu0Czxo9GVAuRR4QR/tAv4R?= =?iso-8859-1?Q?b2nxWQQ244miGtEPaY0+YcmLeQvwDUv5uEaQ22lHILGFRr2vBIm+bys0pb?= =?iso-8859-1?Q?2jm/GJG/VYXc/amchPPfgO3rVHTkIy1Dtno4gwqkfBNUNfCWY9n4lBznSz?= =?iso-8859-1?Q?22xyvcU7U/LtYAOpcZLBw8iXzO6qYGyxhXIkYU6i8f9k7C4YRaE0AHcwit?= =?iso-8859-1?Q?r2mJq7hJbOJ1NBCno3mSPS1RR/kGMZXdd/ZXnDGJpVOwZeBpvwj3RxnvZt?= =?iso-8859-1?Q?QUHjVnbNJv3zf6xekjBqVC8+MLRJtBRQlmgNx4iUjYZkRF6p47tSZOEht5?= =?iso-8859-1?Q?yeIEVeNazQ1MskIP/o4ayjnkSScmE2hIc2KJUzeLvSaR2voXkZ19PXI5YW?= =?iso-8859-1?Q?H/Lqa4Y/pTTyCLS8OTtXdVicYJ0JiSDjuDHhwxUtvDw531DjrQLvK4JrLV?= =?iso-8859-1?Q?uSkEb9cR7IuejA7tTGxdWihFGATmNVcmgcJ06tWem3UvsQLChhkBvtJDsV?= =?iso-8859-1?Q?RVDcbrwViNzRcZx9GDy0nJDsbAp0Mj2nj53uVPaOMaZIvVQ9OwY1ojwkzD?= =?iso-8859-1?Q?ug1AMdP4Rz+D2KAC932bspbWQJJ85KUcRE?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB5003.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2fcdf686-982e-45bc-e55e-08dae42fc2f0 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Dec 2022 15:18:21.1040 (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: /cTw9L6J/h1F6yYy6CWVGaJYw/ItYwRS41Z4Uy4DWoifXwQElPygiAW+MEWk1e1RNlwNstcYN+5BGVjo7TcREA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB3862 X-Proofpoint-ORIG-GUID: 2blSrBRhj-WEDmNOisjJOvVkkUK5SPIa X-Proofpoint-GUID: 2blSrBRhj-WEDmNOisjJOvVkkUK5SPIa X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-12-22_08,2022-12-22_03,2022-06-22_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 Morten, Thanks for your comments and suggestions. My comments are inline. >-----Original Message----- >From: Morten Br=F8rup >Sent: Thursday, December 22, 2022 4:03 PM >To: Ankur Dwivedi ; 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; ciara.loftus@intel.com; >qi.z.zhang@intel.com; mw@semihalf.com; mk@semihalf.com; >shaibran@amazon.com; evgenys@amazon.com; igorch@amazon.com; >chandu@amd.com; Igor Russkikh ; >shepard.siegel@atomicrules.com; ed.czeck@atomicrules.com; >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; johndale@cisco.com; hyonkim@cisco.com; >liudongdong3@huawei.com; yisen.zhuang@huawei.com; >xuanziyang2@huawei.com; cloud.wangxiaoyun@huawei.com; >zhouguoyang@huawei.com; simei.su@intel.com; wenjun1.wu@intel.com; >qiming.yang@intel.com; Yuying.Zhang@intel.com; beilei.xing@intel.com; >xiao.w.wang@intel.com; jingjing.wu@intel.com; junfeng.guo@intel.com; >rosen.xu@intel.com; 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; jbehrens@vmware.com; >maxime.coquelin@redhat.com; chenbo.xia@intel.com; >steven.webster@windriver.com; matt.peters@windriver.com; >bruce.richardson@intel.com; mtetsuyah@gmail.com; grive@u256.net; >jasvinder.singh@intel.com; cristian.dumitrescu@intel.com; jgrajcia@cisco.c= om; >Jerin Jacob Kollanukkaran >Subject: [EXT] RE: [PATCH v4 1/6] eal: trace: add trace point emit for arr= ay > >External Email > >---------------------------------------------------------------------- >> From: Ankur Dwivedi [mailto:adwivedi@marvell.com] >> Sent: Thursday, 22 December 2022 07.33 >> >> Adds a trace point emit function for array. The maximum array bytes >> which can be captured is set to 32. > >This seems very useful. > >Disclaimer: I am not familiar with the trace library or the CTF file forma= t, so my >feedback below may be completely wrong and impossible - please keep in min= d >when reading. > >> >> Also adds test case for emit array tracepoint function. >> >> Signed-off-by: Ankur Dwivedi >> --- >> app/test/test_trace.c | 3 +++ >> lib/eal/common/eal_common_trace_points.c | 2 ++ >> lib/eal/include/rte_eal_trace.h | 6 ++++++ >> lib/eal/include/rte_trace_point.h | 20 ++++++++++++++++++++ >> lib/eal/include/rte_trace_point_register.h | 8 ++++++++ >> 5 files changed, 39 insertions(+) >> >> diff --git a/app/test/test_trace.c b/app/test/test_trace.c index >> 6bedf14024..99cd0762d1 100644 >> --- a/app/test/test_trace.c >> +++ b/app/test/test_trace.c >> @@ -177,6 +177,7 @@ test_fp_trace_points(void) static int >> test_generic_trace_points(void) >> { >> + uint8_t arr[32] =3D {0}; >> int tmp; >> >> rte_eal_trace_generic_void(); >> @@ -195,6 +196,8 @@ test_generic_trace_points(void) >> rte_eal_trace_generic_ptr(&tmp); >> rte_eal_trace_generic_str("my string"); >> rte_eal_trace_generic_size_t(sizeof(void *)); > >Please also test smaller, unaligned length, e.g.: >rte_eal_trace_generic_char_array(arr, 17); Ok. > >Please also test variable len, unknown at build time, e.g.: >rte_eal_trace_generic_char_array(arr, rand() % 31); Ok. > >> + rte_eal_trace_generic_char_array(arr, 32); >> + rte_eal_trace_generic_char_array(arr, 64); >> RTE_EAL_TRACE_GENERIC_FUNC; >> >> return TEST_SUCCESS; >> diff --git a/lib/eal/common/eal_common_trace_points.c >> b/lib/eal/common/eal_common_trace_points.c >> index 0b0b254615..93fdaa634e 100644 >> --- a/lib/eal/common/eal_common_trace_points.c >> +++ b/lib/eal/common/eal_common_trace_points.c >> @@ -40,6 +40,8 @@ >> RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_size_t, >> lib.eal.generic.size_t) >> RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_func, >> lib.eal.generic.func) >> +RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_char_array, >> + lib.eal.generic.char.array) >> >> RTE_TRACE_POINT_REGISTER(rte_eal_trace_alarm_set, >> lib.eal.alarm.set) >> diff --git a/lib/eal/include/rte_eal_trace.h >> b/lib/eal/include/rte_eal_trace.h index 5ef4398230..34fdd5331f 100644 >> --- a/lib/eal/include/rte_eal_trace.h >> +++ b/lib/eal/include/rte_eal_trace.h >> @@ -143,6 +143,12 @@ RTE_TRACE_POINT( >> rte_trace_point_emit_string(func); >> ) >> >> +RTE_TRACE_POINT( >> + rte_eal_trace_generic_char_array, >> + RTE_TRACE_POINT_ARGS(void *in, uint8_t len), >> + rte_trace_point_emit_char_array(in, len); >> +) >> + >> #define RTE_EAL_TRACE_GENERIC_FUNC >> rte_eal_trace_generic_func(__func__) >> >> /* Interrupt */ >> diff --git a/lib/eal/include/rte_trace_point.h >> b/lib/eal/include/rte_trace_point.h >> index 0f8700974f..9d9a9e0aaa 100644 >> --- a/lib/eal/include/rte_trace_point.h >> +++ b/lib/eal/include/rte_trace_point.h >> @@ -144,6 +144,8 @@ _tp _args \ >> #define rte_trace_point_emit_ptr(val) >> /** Tracepoint function payload for string datatype */ #define >> rte_trace_point_emit_string(val) >> +/** Tracepoint function payload for char array */ #define >> +rte_trace_point_emit_char_array(val, len) >> >> #endif /* __DOXYGEN__ */ >> >> @@ -151,6 +153,8 @@ _tp _args \ >> #define __RTE_TRACE_EMIT_STRING_LEN_MAX 32 >> /** @internal Macro to define event header size. */ #define >> __RTE_TRACE_EVENT_HEADER_SZ sizeof(uint64_t) >> +/** @internal Macro to define maximum emit length of array. */ >> +#define __RTE_TRACE_EMIT_ARRAY_LEN_MAX 32 >> >> /** >> * Enable recording events of the given tracepoint in the trace >> buffer. >> @@ -374,12 +378,28 @@ do { \ >> mem =3D RTE_PTR_ADD(mem, __RTE_TRACE_EMIT_STRING_LEN_MAX); \ >} while >> (0) >> >> +#define rte_trace_point_emit_char_array(in, len) \ do { \ >> + if (unlikely(in =3D=3D NULL)) \ >> + return; \ >> + if (len > __RTE_TRACE_EMIT_ARRAY_LEN_MAX) \ >> + return; \ >> + memcpy(mem, in, len); \ >> + mem =3D RTE_PTR_ADD(mem, len); \ > >This does not work for len < 32, because the trace format is defined to em= it an >array of 32 byte. You must always increment mem by 32: I have tried smaller byte lengths such as mac address (6 bytes). It was wor= king correctly. There were stale values in rest of the bytes (byte 6 -byte 31). > >mem =3D RTE_PTR_ADD(mem, __RTE_TRACE_EMIT_ARRAY_LEN_MAX); \ > >Also, instead of silently ignoring len > __RTE_TRACE_EMIT_ARRAY_LEN_MAX, >you should: Ok. > >if (len < __RTE_TRACE_EMIT_ARRAY_LEN_MAX) { \ > memcpy(mem, in, len); \ > memset(RTE_PTR_ADD(mem, len), 0, >__RTE_TRACE_EMIT_ARRAY_LEN_MAX - len); \ } else { \ > memcpy(mem, in, __RTE_TRACE_EMIT_ARRAY_LEN_MAX); \ } \ > >If not emitting the length value (see my comments at the end), you should = clear >the unused part of the array; notice the added memset(). memset will help in clearing the stale values in unused bytes. > >> +} while (0) >> + >> #else >> >> #define __rte_trace_point_emit_header_generic(t) RTE_SET_USED(t) >> #define __rte_trace_point_emit_header_fp(t) RTE_SET_USED(t) #define >> __rte_trace_point_emit(in, type) RTE_SET_USED(in) #define >> rte_trace_point_emit_string(in) RTE_SET_USED(in) >> +#define rte_trace_point_emit_char_array(in, len) \ do { \ >> + RTE_SET_USED(in); \ >> + RTE_SET_USED(len); \ >> +} while (0) >> + >> >> #endif /* ALLOW_EXPERIMENTAL_API */ >> #endif /* _RTE_TRACE_POINT_REGISTER_H_ */ >> diff --git a/lib/eal/include/rte_trace_point_register.h >> b/lib/eal/include/rte_trace_point_register.h >> index a32f4d731b..c76fe4dd48 100644 >> --- a/lib/eal/include/rte_trace_point_register.h >> +++ b/lib/eal/include/rte_trace_point_register.h >> @@ -47,6 +47,14 @@ do { \ >> RTE_STR(in)"[32]", "string_bounded_t"); \ >> } while (0) >> >> +#define rte_trace_point_emit_char_array(in, len) \ >> +do { \ >> + RTE_SET_USED(in); \ >> + if (len > __RTE_TRACE_EMIT_ARRAY_LEN_MAX) \ >> + return; \ >> + __rte_trace_point_emit_field(len, RTE_STR(in)"[32]", "uint8_t"); >> \ >> +} while (0) >> + >> #ifdef __cplusplus >> } >> #endif >> -- >> 2.25.1 >> > >This emits 0..32 byte of binary data into a 32 byte array to the trace. Bu= t there is >no way to read the length from the trace file, i.e. how many of the 32 byt= es >contain data. Yes, that's correct. > >If length is required to be constant at build time, perhaps the "[32]" in >rte_trace_point_register.h can be modified to emit the length as the array= size. >(If so, the requirement for the length to be constant must be documented.) > >Suggestion (not a requirement): > >Instead of simply emitting an array, consider emitting a structure where t= he first >field is the length, and the second field is an array of 32 bytes of data: > >struct { > integer { > size =3D 8; > } len; > integer { > size =3D 8; > } data[32]; >} > >Or even better, emit a sequence [1]: > >struct { > integer { > size =3D 16; > } length; > integer { > size =3D 8; > } data[length]; >} > >[1]: https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__diamon.org_ctf= _- >23spec4.2.4&d=3DDwIFAw&c=3DnKjWec2b6R0mOyPaz7xtfQ&r=3DILjiNF3GF25y6QdHZ >UxMl6JrStU0MIuCtO5dMzn3Ybk&m=3DctL43w6fn6cvuduQqeqQ0Scs3RQQIiv5uba >Lz9le2xyd8EJBURdSXD8IFLo7k-6H&s=3DvBCuOfVlqnotYr2SsovxiI7JRawt-uDVCDay- >_B1VD4&e=3D I will look into the above link. > >If emitting a sequence, the length does not have to be limited to 32 byte,= but >could be up to 65535 byte. > > >And a personal preference about the name: I would prefer _blob instead of >_char_array. Will think about this.