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 DE3E841BAE; Thu, 2 Feb 2023 14:44:46 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B10AF42FEC; Thu, 2 Feb 2023 14:44:46 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2071.outbound.protection.outlook.com [40.107.101.71]) by mails.dpdk.org (Postfix) with ESMTP id EBFF442FCE for ; Thu, 2 Feb 2023 14:44:44 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PWIIm+86O5yBurGKaFN3IhiJfD+5EyHZFxYOf8vqZFsAF4t7hElEuQqMVi/lw/WtXTOL8d1Js+cm5Cm9nKpD+DnXhTnT9bbTJ/Q3F7UaJ+sd8EWD1R3BHb1sfWJSgyslIGPzCI9B0N/vm+j91TSUMTX948nR5slnrpmHDljBqEzg4RkZfurZC74v0LKO9tzSCL4AxSWgiC/1JcijGN1ACFbAalIPcpdSlearXBneyJ7qTYbktMR9sosRBXTJ2Wu79B2n1X7/U5fY+BJX/oGSk2gNIq8Rt6eZl1kMK0IEti3l1bUtgsYfUcppkKby6yuXnOlcFnGTqnSZs3llicAl3Q== 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=4YxcHEzg+QirztMWjvKkw9chSUhfwKSgFYlXHF6wAxA=; b=lXM8vmeEI+eaijFw/EGRdt32nSwQN9aaNAEvFL9H+jA/VrApH0u7w25iNFdzkjonG+k7JaB9H2bGLLsFgoxkPYu19nAMnYt9S+fdb4dbhgFJhB/d4P2nm9mF7G6WQRshDFvOhR8vHEpCspgbbBKrl+bwHyFuOpQeKFnga7Ikhu/mK38SeL0s22e3Wp87aGyAvZGU9f7Dq8rcdTgE1criRmC/evI+R9G+i/NdbF/oj3ftHOh8O07JXUgJ3C7+TDL0duTPnOj2I18JwZOrSgFGVZC/U1iVV6cbMENKTldqQjarkehFW/m2raClwG8IxX9rkSee+PJtKxlxk7EImC1ysQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4YxcHEzg+QirztMWjvKkw9chSUhfwKSgFYlXHF6wAxA=; b=hpIr1p6e7ygqiZjmyO+Ubdt6mocA7a9uZi/dlWyd9pP22PSzkdl19/ah5bmj+Ey02gJLnVQTUUvcOrY4tnHTlr8sIbMMIYWv1a3XrP6BtLr4O+chD+xYszUbXgJitA4ZRhSWnGeSu8QotGJqjPfw2CQIUyaUhjj+8qitAWbzCGE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by SA1PR12MB6947.namprd12.prod.outlook.com (2603:10b6:806:24e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27; Thu, 2 Feb 2023 13:44:42 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::4807:1f44:5e04:e05a]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::4807:1f44:5e04:e05a%8]) with mapi id 15.20.6064.024; Thu, 2 Feb 2023 13:44:42 +0000 Message-ID: <4e3cf0cc-c482-e5a5-77e5-b66c8d3827b4@amd.com> Date: Thu, 2 Feb 2023 13:44:27 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [EXT] Re: [PATCH v6 2/6] ethdev: add trace points for ethdev (part one) Content-Language: en-US To: Ankur Dwivedi , "dev@dpdk.org" , David Marchand , Jerin Jacob Kollanukkaran , Andrew Rybchenko Cc: "thomas@monjalon.net" , "mdr@ashroe.eu" , "orika@nvidia.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" , "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 , "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" , "mb@smartsharesystems.com" References: <20230112112140.807233-1-adwivedi@marvell.com> <20230120084059.2926575-1-adwivedi@marvell.com> <20230120084059.2926575-3-adwivedi@marvell.com> <614e22c6-8485-0e8d-742e-b3d100f96468@amd.com> <91a635b5-3fe5-b47d-d8ba-44f9b1614bf9@amd.com> From: Ferruh Yigit In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO2P265CA0487.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:13a::12) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|SA1PR12MB6947:EE_ X-MS-Office365-Filtering-Correlation-Id: db40828f-66e6-4b88-20c7-08db0523a29e X-LD-Processed: 3dd8961f-e488-4e60-8e11-a82d994e183d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: u8s+glHdAE/sPCjKnp52CWIgioYN2Za+v0ql0towaHzn3cVzLm2v/bEgm5z4Gf7lsDnUkhMmB7z6kkDPDRnN11LaMtMeyIsgWjl4WmNKtYMU0EqqrAoOp1g/lMbyV1VgUKeHFbo1oTJKX/TkTHfwpG0E8rOGHYRigKzcCJQUQT+iPLCnVFL9XcEG4adIMjdyxSKgNFfFuhxqoYITCMwZzYpjPZDABZueMJ4uF5zHUc28SxEgnCgWDvPArxB1AMUmGWC1WZgcOBG2ATYG85q8w+JXhtHnyb7atV5pIv3ZfKjPGI366a4JAWHQZPvxW2jaEv8h7qKBtTEoxjyMO+6xDAVOa5UGbi5YCcxH0yXToqHRxk2WGvPxnOPSoYVfRhtKtidpyJeL/ZkjoEp3OLkp2ssoupcnnpTtVWqVlaAiBmUm4jKGMqsrCuhhvCopT02YXwYT9Agc/aguPGuuYI6N/cTrB1fm/BV9jd7LdVKU+jMt26G+ZeFRZxFvFSWbcVI+khYj/c7gR+IumOj9nV/8Vhn5QVnh7Dn0acPu2FCs4jiI2ukgOEBVxNglbcYUVXNgYyuWC0vCG37DX+sZHxJfjlHPtAOp+wqzRUJR5xpcexgc8wYJA9f3IbAtoieAYIueSqNgqSrGJ+uo2/i1TFhEsXyb+H6IOACZbksjmGYwGhBzy9l+AxgCoOV/cCLycFr4OMKs8uf1WVu4jtQZm7Iz8I9iJ18HX1NvX6nDUqSCRcc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(39860400002)(366004)(346002)(396003)(136003)(376002)(451199018)(2906002)(31686004)(7366002)(478600001)(36756003)(44832011)(7336002)(7416002)(7406005)(6666004)(53546011)(6506007)(26005)(186003)(6512007)(2616005)(31696002)(8936002)(86362001)(6486002)(5660300002)(41300700001)(66476007)(8676002)(83380400001)(66946007)(66556008)(38100700002)(4326008)(316002)(110136005)(54906003)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VmtJZExIQ0hCaVBYY3F2S1E5SGNEUHdzeVhyOGEwUWk5bngwTkpCdTJBdHpY?= =?utf-8?B?dURqdUZwUlpHa2RvY3BrOERaZG0valo1R0RGWHFVUFY5OEx5bzUveWJramdH?= =?utf-8?B?WVRSVmVZcFNrNVdRQkQwdzBSV3poekEzQXJFWVNqWGtHMTJOMDBUcHp2WnVh?= =?utf-8?B?bG13VGlLcVhMaUlVeG5OTjhPYnRiSWpBQzN5b1pVQ2kxY1hvSFBHbVpISTBj?= =?utf-8?B?WWljZ1A0a2R6ZEFoK0JuQVZhR3FyMDhHelp6dWRKdGcyZUJvWHhTWXMyUzlp?= =?utf-8?B?TDdWNkVzS3FUS2VFK0xSOG8xRjhHY0tGd3BTL29XRTFKWm5VUDFDbjlYQ0lq?= =?utf-8?B?RkxSVTZKQTlvYisrVU5FR0Q1TkN3SVltWFlCblRKSTFaRHdYTzBIclRJSmps?= =?utf-8?B?Z29OTEUzbTQwYmdXSXllaDBkRE5qaUV6eEpIMnZDZTNJd050VWVIT1kyNG1T?= =?utf-8?B?YldkZWNIN0pxRC9wUlBMamJUYzNIR3NxUHdIUXVjd3JHUEYyVlk3aFd6R3l4?= =?utf-8?B?UFUydUphOTNGTGszdDRMdzFXY0xYNzVSMGx0V0Y2bTFUK25LZlNuZ2VjOWhV?= =?utf-8?B?U0I2eUkrMXEyMVhnK3dMZ1M1dU1YSm1YcGF0TldzNGxuSEljcmJuT0RuUVF4?= =?utf-8?B?ZDJ6UzJHQkpxWFRldW5VUjhDVVBGaE5HNFNwZ015VHkydURKSEFCUlJkZmRD?= =?utf-8?B?YVhibzh6RE9yanhxU2hJcVVROGxuMUJMNEoyYWRNSWpPSmUrZ3BwQnFWMENC?= =?utf-8?B?aEZBZXluOW5FUXlSZmdpTnZXUHpreE5ZdVZReUtMSDhIc1lDeXpsVnV5Z3p3?= =?utf-8?B?aGM3MFFraWJYd1JMbVNoY3FzVHJtTVZVcGJmbkFRTXVPZFBzUzF6blhqZUdR?= =?utf-8?B?TUcxMjdOMVY5ZFlkdXNINHlpQkZKWUh5cnVUSjZISVU3d2UyZDFBdWtqYzhT?= =?utf-8?B?VU45REZHTkI2Rlhzd0dnRzVqNFdYT0VNWWFPWi9xQzEwNHdyb25hakhTZEJV?= =?utf-8?B?NWRsRk8vaTE2dVlFbEVUeDdBeWRRLytudjhUUGpocmZmcjYrejZxbUJ1UXB5?= =?utf-8?B?L0U0dmMraE5HSUZhV0tINkVhN2tBcjBqeWhNVXN2MTM3Y05MZ0JkOUZhTzFP?= =?utf-8?B?cXZaanFHd1puNHcrK2c5T284V2U3VENmR3NUM1BJNVV4RzYybFdaUU1JbjJt?= =?utf-8?B?Y3VOMDZwcWQxZ0xadTFyNUQ1a0REcHFZWkIrRVlqaE01SEJBU0xEQTU5RVcy?= =?utf-8?B?dXlTOVBwUytjRUxtTElIS0pLTTZabmNOVjJxRU1YMmFBVmd2QzI1TnZRcTJh?= =?utf-8?B?K01PR0pwUWdWOEVZNHYyeVpLZmdoOXg4SXpKRXBsUlQxcUgxWjM0dFVmK010?= =?utf-8?B?dVBxM1BQeUtRdTcra1JVdHVScWFSdWVXZENoL29YYlVvU256dmVKcDVNMUds?= =?utf-8?B?NXUvc21sZmw3KzBsbys5Z3hzM3ZVSExwTlN2TzNqeFpQdFV2L2lCZHlsSGpa?= =?utf-8?B?Nno1M3RhMHc0S3Buby9PUkdLV3VEbXRaK2VRdkd5Z0JRSFR6d1ErV2Z5aUxo?= =?utf-8?B?blYvaXB3MmJYMVFNUjdVTnR1Z1dSeWJsbWFzbGo2ejdRN1JXWElkQ1habStN?= =?utf-8?B?a0RVYVgrUS9reGhDYmlGamtwTzNMNjZVVHoyT3ZDaU12Q1FEbEp5MytKRElt?= =?utf-8?B?ZHJyYjczSUpUVkxsMFh4V0k3MUpIVk9PMTh1UDZ1UkFHUExKdE8xaWJWRmJX?= =?utf-8?B?SW8yZklMV1owejA5SGlzcUNIZjAydlo0U2taaDRmRGlFL3RqdFBlanM3QlhD?= =?utf-8?B?QU1waGlYaVlqRFZVZUY2bDcyZlJiL3h1aFpobmxIeXRNaExKcVhxdXFScnJI?= =?utf-8?B?WmtZR2FGT2M2R2dWZE8wYmJvWWN6NmlqSzlScmxVRlZ3eE1sR3pGQWU4NDUw?= =?utf-8?B?MmJ2VkVoQW4zaTJCRGpYL1lKNGZKa0d2K2hvQzhEMkFmTHl5VE5EckJlSlg3?= =?utf-8?B?eXBvbTd0K3A1UG52M0Ftd2hsOGtFRzZabSs3RHprbEZxY0xZUWxDT2VBVkNs?= =?utf-8?B?andBaWpOaXB2VW9VYitxMzRPdlRvNDNKcERnRHpHbXo3UVRSQkYwcVlpb1JG?= =?utf-8?Q?7eS59lUSycuSJXLNkLNwlNHC/?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: db40828f-66e6-4b88-20c7-08db0523a29e X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 13:44:41.8349 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FIbk2vMkEf1TOGGLwVYLDpRU4tamBQ+CdbRKaiTvuxI0RSZqiJsRKi32MVkzL2zc X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6947 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 On 2/2/2023 1:40 PM, Ankur Dwivedi wrote: >> >> On 2/2/2023 10:20 AM, Ankur Dwivedi wrote: >> >>>>>>>>> +RTE_TRACE_POINT_FP( >>>>>>>>> + rte_eth_trace_find_next, >>>>>>>>> + RTE_TRACE_POINT_ARGS(uint16_t port_id), >>>>>>>>> + rte_trace_point_emit_u16(port_id); >>>>>>>>> +) >>>>>>>>> + >>>>>>>> >>>>>>>> Why 'rte_eth_trace_find_next' added as fast path? >>>>>>>> Can you please add comment for all why it is added as fast path, >>>>>>>> this help to evaluate/review this later. >>>>>>> >>>>>>> There were many functions for which I was not sure about whether >>>>>>> they >>>>>> should be slow path or fast path. I made the following assumption: >>>>>>> >>>>>>> For slow path I have chosen the function which do some setup, >>>>>>> configure or >>>>>> write some configuration. For an example >>>>>> rte_eth_trace_tx_hairpin_queue_setup, >>>>>> rte_eth_trace_tx_buffer_set_err_callback, >>>>>> rte_eth_trace_promiscuous_enable are slow path functions. >>>>>>> >>>>>>> The functions which read data are made as fastpath functions. Also >>>>>>> for >>>>>> functions for which I was not sure I made it as fastpath. >>>>>>> >>>>>>> For an example rte_ethdev_trace_owner_get, >>>>>> rte_eth_trace_hairpin_get_peer_port, rte_eth_trace_macaddr_get are >>>>>> made as fastpath. >>>>>>> >>>>>>> But there are few exceptions. Function like *_get_capability are >>>>>>> made as >>>>>> slowpath. Also rte_ethdev_trace_info_get is slowpath. >>>>>>> >>>>>>> The slowpath and fastpath functions are in separate files. >>>>>> rte_ethdev_trace.h (slowpath) and rte_ethdev_trace_fp.h (fastpath). >>>>>>> >>>>>>> Please let me know if any function needs to be swapped. I will >>>>>>> make that >>>>>> change. >>>>>>> >>>>>> >>>>>> Got it, I think most of the trace points in the 'rte_ethdev_trace_fp.h' >>>>>> are for control/helper functions like: >>>>>> 'rte_ethdev_trace_count_avail', >>>>>> 'rte_ethdev_trace_get_port_by_name', >>>> 'rte_eth_trace_promiscuous_get' ... >>>>>> >>>>>> I thought you did based on some analysis, that is why I asked to >>>>>> add that reasoning as code comment. >>>>>> >>>>>> >>>>>> I think we can generalize as: >>>>>> >>>>>> 1) Anything called by ethdev static inline functions are datapath, >>>>>> and must be 'RTE_TRACE_POINT_FP', like >>>>>> 'rte_eth_trace_call_[rt]x_callbacks', >>>>>> 'rte_ethdev_trace_[rt]x_burst', >>>>> >>>>> In this category the following functions come: >>>>> rte_eth_rx_burst >>>>> rte_eth_tx_burst >>>>> rte_eth_call_rx_callbacks (called from rte_eth_rx_burst) >>>>> rte_eth_call_tx_callbacks (called from rte_eth_tx_burst) >>>>> rte_eth_tx_buffer_count_callback (registered as error callback, >>>>> called from rte_eth_tx_buffer_flush) rte_eth_tx_buffer_drop_callback >>>>> (registered as error callback) >>>> >>>> ack >>>> >>>>>> >>>>>> 2) Anything that is called in endless loop in application/sample >>>>>> that has potential impact although it may not really be datapath >>>>> >>>>> Apart from functions in category [1], I have observed the following >>>>> functions >>>> in ethdev library, called in some while loop in app/examples. >>>>> rte_eth_stats_get (called in while loop in examples/qos_sched and >>>>> examples/distributor) rte_eth_macaddr_get (called in while loop in >>>>> examples/bond and examples/ethtool) rte_eth_link_get (called in for >>>>> loop in examples/ip_pipeline) rte_eth_dev_get_mtu (called in for >>>>> loop in examples/ip_pipeline) rte_eth_link_speed_to_str (called in >>>>> for loop in examples/ip_pipeline) rte_eth_dev_rx_intr_enable ( >>>>> called in loop in examples/l3fwd-power) rte_eth_dev_rx_intr_disable >>>>> ( called in loop in examples/l3fwd-power) >>>>> rte_eth_timesync_read_rx_timestamp (called in loop in >>>>> examples/ptpclient) rte_eth_timesync_read_tx_timestamp (called in >>>>> loop in examples/ptpclient) rte_eth_timesync_adjust_time (called in >>>>> loop in examples/ptpclient) rte_eth_timesync_read_time (called in >>>>> loop in examples/ptpclient) rte_flow_classifier_query (called in >>>>> examples/flow_classify) rte_mtr_create (in app/test-flow-perf loop) >>>>> rte_mtr_destroy (in app/test-flow-perf loop) >>>>> rte_mtr_meter_policy_delete ((in app/test-flow-perf loop) >>>>> rte_flow_create (in app/test-flow-perf) rte_flow_destroy (in >>>>> app/test-flow-perf) >>>>> >>>> >>>> Ack, and can you please add the note within the parenthesis as a >>>> comment, whoever visits these later knows why there trace points >>>> added as fast path trace point? >>>> >>>>> Apart from the above can all other functions be moved to slowpath >>>> tracepoints? >>>> >>>> I think yes, we can start with this. >>>> At least this gives us a logic to follow. >>>> >>>> And does trace point and fast path trace points needs to be in >>>> separate header files? >>> >>> I do not think separate header files is a requirement, but it is easy >>> to segregate slowpath/fastpath if they are in separate files. What do you >> think ? >> >> I think it is not good to expose trace points to user more than we have to, that >> is why I think better to segregate as public/internal. > > In my earlier comment I was thinking of something like this: > - Functions in category [1] (fastpath tracepoints) can be in public header named rte_ethdev_trace_fp.h(exposed to the user). > > - Functions in category [2] (fastpath tracepoints)can be in internal header named ethdev_trace_fp.h > - Functions in category [3] (slowpath tracepoints) can be in internal header ethdev_trace.h Do we need three headers for trace? What is the downside to merge [2] and [3] but group them withing the same header?