This series adds trace points for functions in the ethdev library. The trace points are added in ethdev, flow, mtr and tm files.
v5: - The rte_trace_point_emit_char_array function is renamed to rte_trace_point_emit_blob. With this function an array of any length upto 65535 bytes can be captured. For example, the following is the ctf metadata created to display a mac addr array in rte_eth_trace_macaddr_get(): struct { ... uint16_t len; uint8_t mac_addr_addr_bytes[len]; }; - Added additional test cases for rte_eal_trace_generic_blob test case. - Capturing of return value of a function is added to tracepoint for flow, mtr and tm patches. - In ehdev patch (1/6), removed extra line. Also added rx_pkts and tx_pkts pointer in trace point. v4: - Adds tracepoint function to emit char array. Also adds the test case. - Resolved review comments on "ethdev: add trace point" patch. This patch is divided into 2 patches to minimize per patch size. - From the earlier version (v3), few tracepoints in ethdev, flow, mtr, tm are made as fast path tracepoints. For the tracepoint which i was unsure, i have made it as fastpath. All the fast path tracepoints can be found in rte_ethdev_trace_fp.h and rte_ethdev_trace_fp_burst.h. All the slow path tracepoints can be found in rte_ethdev_trace.h. - Capturing of return value is added to tracepoint in ethdev. For flow, mtr and tm these changes are still yet to bde done. Will do it in the next versions. - Moved the trace functions from INTERNAL to EXPERIMENTAL in version.map. v3: - Moved the trace functions from EXPERIMENTAL to INTERNAL in version.map. - Moved trace functions call to the end, in ethdev and flow trace. - Added code to print the input value of features in rte_eth_trace_rx_metadata_negotiate(). - Added code to capture return value in flow trace. Ankur Dwivedi (6): eal: trace: add trace point emit for blob ethdev: add trace points for ethdev ethdev: add trace points for remaining functions ethdev: add trace points for flow ethdev: add trace points for mtr ethdev: add trace points for tm app/test/test_trace.c | 5 + lib/eal/common/eal_common_trace_points.c | 2 + lib/eal/include/rte_eal_trace.h | 6 + lib/eal/include/rte_trace_point.h | 17 + lib/eal/include/rte_trace_point_register.h | 7 + lib/eal/version.map | 3 + lib/ethdev/ethdev_private.c | 5 + lib/ethdev/ethdev_trace_points.c | 715 ++++++++++ lib/ethdev/meson.build | 1 + lib/ethdev/rte_ethdev.c | 711 ++++++++-- lib/ethdev/rte_ethdev.h | 2 +- lib/ethdev/rte_ethdev_cman.c | 30 +- lib/ethdev/rte_ethdev_trace.h | 1450 ++++++++++++++++++++ lib/ethdev/rte_ethdev_trace_fp.h | 1005 +++++++++++++- lib/ethdev/rte_ethdev_trace_fp_burst.h | 44 + lib/ethdev/rte_flow.c | 314 ++++- lib/ethdev/rte_mtr.c | 156 ++- lib/ethdev/rte_tm.c | 247 +++- lib/ethdev/version.map | 235 ++++ 19 files changed, 4719 insertions(+), 236 deletions(-) create mode 100644 lib/ethdev/rte_ethdev_trace_fp_burst.h -- 2.25.1