[PATCH v6 0/6] add trace points in ethdev library
Ferruh Yigit
ferruh.yigit at amd.com
Mon Jan 23 18:30:20 CET 2023
On 1/20/2023 8:40 AM, Ankur Dwivedi wrote:
> This series adds trace points for functions in the ethdev library.
> The trace points are added in ethdev, flow, mtr and tm files.
>
> v6:
> - Resolves compilation error with 32 bit build.
> - Resolves a bug found in v5 in the trace autotest application where
> the traces where not getting generated after the first blob test case.
> The trace size needs to be known at trace point register, so a dynamic
> length array cannot be implemented with current implementation.
> So changing the metadata of blob to make the array as 64 bytes. The
> length will denote the blob length(passed by the application). The
> trailing unused fields will be set to zero if length is less than 64.
>
> For example, the following is the ctf metadata created to display
> a mac addr array in rte_eth_trace_macaddr_get():
> struct {
> ...
> uint8_t len;
> uint8_t mac_addr_addr_bytes[64];
> };
> - Minor changes in the subject of patches (2/6) and (3/6).
>
> 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 (part one)
> ethdev: add trace points for ethdev (part two)
> ethdev: add trace points for flow
> ethdev: add trace points for mtr
> ethdev: add trace points for tm
>
Hi Ankur,
I put some comments on 2/6 and some of them are generic comments, can
you please apply them to whole series first, later I can continue the
review on next versions.
Thanks,
ferruh
More information about the dev
mailing list