On 12/14/2022 10:34 AM, David Marchand wrote: > On Mon, Dec 12, 2022 at 7:38 PM Ferruh Yigit <ferruh.yi...@amd.com> wrote: >> >> On 10/6/2022 4:18 PM, Ankur Dwivedi wrote: >>> diff --git a/lib/ethdev/version.map b/lib/ethdev/version.map >>> index 3651ceb234..79d0b2ee1f 100644 >>> --- a/lib/ethdev/version.map >>> +++ b/lib/ethdev/version.map >>> @@ -319,4 +319,148 @@ INTERNAL { >>> rte_eth_representor_id_get; >>> rte_eth_switch_domain_alloc; >>> rte_eth_switch_domain_free; >>> + __rte_eth_trace_add_first_rx_callback; >>> + __rte_eth_trace_add_rx_callback; >>> + __rte_eth_trace_add_tx_callback; >>> + __rte_eth_trace_allmulticast_disable; >> >> >> These are not trace functions, but trace point objects, I see this is >> common usage in other libraries too, but can you please explain why we >> need to export the trace point objects from the .so file? >> >> For some datapath functions, which are static inline functions, trace >> point objects are need to be accessible by application, it is OK to >> export them, but they are very limited, but I am not clear why exporting >> all of them is required. > > There should be no need to export them. > The only usage I can think of is when calling a tracepoint from a > public inline helper. >
Like '__rte_ethdev_trace_rx_burst' & '__rte_ethdev_trace_tx_burst', which are used by 'rte_eth_rx_burst()' & 'rte_eth_tx_burst()' static inline functions.