[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