[PATCH v5 0/6] add trace points in ethdev library
Ankur Dwivedi
adwivedi at marvell.com
Thu Jan 12 12:21:34 CET 2023
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
More information about the dev
mailing list