>-----Original Message----- >From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> >Sent: Thursday, October 6, 2022 12:58 PM >To: Ankur Dwivedi <adwiv...@marvell.com>; dev@dpdk.org >Cc: tho...@monjalon.net; m...@ashroe.eu; or...@nvidia.com; >ferruh.yi...@xilinx.com; ch...@att.com; humi...@huawei.com; >linvi...@tuxdriver.com; ciara.lof...@intel.com; qi.z.zh...@intel.com; >m...@semihalf.com; m...@semihalf.com; shaib...@amazon.com; >evge...@amazon.com; igo...@amazon.com; cha...@amd.com; Igor >Russkikh <irussk...@marvell.com>; shepard.sie...@atomicrules.com; >ed.cz...@atomicrules.com; john.mil...@atomicrules.com; >ajit.khapa...@broadcom.com; somnath.ko...@broadcom.com; Jerin Jacob >Kollanukkaran <jer...@marvell.com>; Maciej Czekaj [C] ><mcze...@marvell.com>; Shijith Thotton <sthot...@marvell.com>; >Srisivasubramanian Srinivasan <sriniva...@marvell.com>; Harman Kalra ><hka...@marvell.com>; rahul.lakkire...@chelsio.com; johnd...@cisco.com; >hyon...@cisco.com; liudongdo...@huawei.com; >yisen.zhu...@huawei.com; xuanziya...@huawei.com; >cloud.wangxiao...@huawei.com; zhouguoy...@huawei.com; >simei...@intel.com; wenjun1...@intel.com; qiming.y...@intel.com; >yuying.zh...@intel.com; beilei.x...@intel.com; xiao.w.w...@intel.com; >jingjing...@intel.com; junfeng....@intel.com; rosen...@intel.com; Nithin >Kumar Dabilpuram <ndabilpu...@marvell.com>; Kiran Kumar Kokkilagadda ><kirankum...@marvell.com>; Sunil Kumar Kori <sk...@marvell.com>; Satha >Koteswara Rao Kottidi <skotesh...@marvell.com>; Liron Himi ><lir...@marvell.com>; z...@semihalf.com; Radha Chintakuntla ><rad...@marvell.com>; Veerasenareddy Burru <vbu...@marvell.com>; >Sathesh B Edara <sed...@marvell.com>; ma...@nvidia.com; >viachesl...@nvidia.com; sthem...@microsoft.com; lon...@microsoft.com; >spin...@cesnet.cz; chaoyong...@corigine.com; >niklas.soderl...@corigine.com; hemant.agra...@nxp.com; >sachin.sax...@oss.nxp.com; g.si...@nxp.com; apeksha.gu...@nxp.com; >sachin.sax...@nxp.com; abo...@pensando.io; Rasesh Mody ><rm...@marvell.com>; Shahed Shaikh <shsha...@marvell.com>; Devendra >Singh Rawat <dsinghra...@marvell.com>; jiawe...@trustnetic.com; >jianw...@trustnetic.com; jbehr...@vmware.com; >maxime.coque...@redhat.com; chenbo....@intel.com; >steven.webs...@windriver.com; matt.pet...@windriver.com; >bruce.richard...@intel.com; mtetsu...@gmail.com; gr...@u256.net; >jasvinder.si...@intel.com; cristian.dumitre...@intel.com; >jgraj...@cisco.com >Subject: Re: [EXT] Re: [PATCH v2 1/4] ethdev: add trace points > >On 10/6/22 10:24, Ankur Dwivedi wrote: >> Hi Andrew, >> >>> -----Original Message----- >>> From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> >>> Sent: Thursday, October 6, 2022 12:40 PM >>> To: Ankur Dwivedi <adwiv...@marvell.com>; dev@dpdk.org >>> Cc: tho...@monjalon.net; m...@ashroe.eu; or...@nvidia.com; >>> ferruh.yi...@xilinx.com; ch...@att.com; humi...@huawei.com; >>> linvi...@tuxdriver.com; ciara.lof...@intel.com; qi.z.zh...@intel.com; >>> m...@semihalf.com; m...@semihalf.com; shaib...@amazon.com; >>> evge...@amazon.com; igo...@amazon.com; cha...@amd.com; Igor >Russkikh >>> <irussk...@marvell.com>; shepard.sie...@atomicrules.com; >>> ed.cz...@atomicrules.com; john.mil...@atomicrules.com; >>> ajit.khapa...@broadcom.com; somnath.ko...@broadcom.com; Jerin >Jacob >>> Kollanukkaran <jer...@marvell.com>; Maciej Czekaj [C] >>> <mcze...@marvell.com>; Shijith Thotton <sthot...@marvell.com>; >>> Srisivasubramanian Srinivasan <sriniva...@marvell.com>; Harman Kalra >>> <hka...@marvell.com>; rahul.lakkire...@chelsio.com; >>> johnd...@cisco.com; hyon...@cisco.com; liudongdo...@huawei.com; >>> yisen.zhu...@huawei.com; xuanziya...@huawei.com; >>> cloud.wangxiao...@huawei.com; zhouguoy...@huawei.com; >>> simei...@intel.com; wenjun1...@intel.com; qiming.y...@intel.com; >>> yuying.zh...@intel.com; beilei.x...@intel.com; xiao.w.w...@intel.com; >>> jingjing...@intel.com; junfeng....@intel.com; rosen...@intel.com; >>> Nithin Kumar Dabilpuram <ndabilpu...@marvell.com>; Kiran Kumar >>> Kokkilagadda <kirankum...@marvell.com>; Sunil Kumar Kori >>> <sk...@marvell.com>; Satha Koteswara Rao Kottidi >>> <skotesh...@marvell.com>; Liron Himi <lir...@marvell.com>; >>> z...@semihalf.com; Radha Chintakuntla <rad...@marvell.com>; >>> Veerasenareddy Burru <vbu...@marvell.com>; Sathesh B Edara >>> <sed...@marvell.com>; ma...@nvidia.com; viachesl...@nvidia.com; >>> sthem...@microsoft.com; lon...@microsoft.com; spin...@cesnet.cz; >>> chaoyong...@corigine.com; niklas.soderl...@corigine.com; >>> hemant.agra...@nxp.com; sachin.sax...@oss.nxp.com; >g.si...@nxp.com; >>> apeksha.gu...@nxp.com; sachin.sax...@nxp.com; abo...@pensando.io; >>> Rasesh Mody <rm...@marvell.com>; Shahed Shaikh >>> <shsha...@marvell.com>; Devendra Singh Rawat >>> <dsinghra...@marvell.com>; jiawe...@trustnetic.com; >>> jianw...@trustnetic.com; jbehr...@vmware.com; >>> maxime.coque...@redhat.com; chenbo....@intel.com; >>> steven.webs...@windriver.com; matt.pet...@windriver.com; >>> bruce.richard...@intel.com; mtetsu...@gmail.com; gr...@u256.net; >>> jasvinder.si...@intel.com; cristian.dumitre...@intel.com; >>> jgraj...@cisco.com >>> Subject: [EXT] Re: [PATCH v2 1/4] ethdev: add trace points >>> >>> External Email >>> >>> --------------------------------------------------------------------- >>> - On 9/29/22 13:29, Ankur Dwivedi wrote: >>>> Add trace points for ethdev functions. >>>> >>>> Signed-off-by: Ankur Dwivedi <adwiv...@marvell.com> >>> >>> [snip] >>> >>>> @@ -5867,6 +6010,7 @@ rte_eth_rx_metadata_negotiate(uint16_t >>>> port_id, >>> uint64_t *features) >>>> { >>>> struct rte_eth_dev *dev; >>>> >>>> + rte_eth_trace_rx_metadata_negotiate(port_id, features); >>> >>> features are in/out, so it would be interesting to values, not just >>> pointer and both values: input and output. >> [Ankur] Will add a emit line to display the uint64_t input value of features. > >What about output? [Ankur] The output is not captured because it calls a callback in the return:
return eth_err(port_id, (*dev->dev_ops->rx_metadata_negotiate)(dev, features)); I do not wanted to modify the existing code/logic for trace. > >>> >>>> RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); >>>> dev = &rte_eth_devices[port_id]; >>>> >>> >>> [snip] >>> >>>> diff --git a/lib/ethdev/version.map b/lib/ethdev/version.map index >>>> 3def7bfd24..e3d603cc9a 100644 >>>> --- a/lib/ethdev/version.map >>>> +++ b/lib/ethdev/version.map >>>> @@ -288,6 +288,150 @@ EXPERIMENTAL { >>>> >>>> # added in 22.11 >>>> rte_flow_async_action_handle_query; >>>> + __rte_eth_trace_add_first_rx_callback; >>> >>> Why is it in EXPERIMENTAL section, but not INTERNAL? >> [Ankur] Because the functions for which trace is added are not internal >functions. > >Sorry, but I don't understand. I agree that tracing of public inline functions >must be part of ABI, but why everything else should be a part of ABI? [Ankur] I see that there are some already existing trace functions added in EXPERIMENTAL in version.map like __rte_ethdev_trace_configure, __rte_ethdev_trace_rxq_setup. So not sure will it be internal or experimental. But you are right the trace function will not be called as a public api. Should I make the newly added trace as internal then? > >>> >>> [snip] >>> >>>> INTERNAL