1.. SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB 2.. include:: <isonum.txt> 3 4=========== 5Tracepoints 6=========== 7 8:Copyright: |copy| 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. 9 10mlx5 driver provides internal tracepoints for tracking and debugging using 11kernel tracepoints interfaces (refer to Documentation/trace/ftrace.rst). 12 13For the list of support mlx5 events, check /sys/kernel/tracing/events/mlx5/. 14 15tc and eswitch offloads tracepoints: 16 17- mlx5e_configure_flower: trace flower filter actions and cookies offloaded to mlx5:: 18 19 $ echo mlx5:mlx5e_configure_flower >> /sys/kernel/tracing/set_event 20 $ cat /sys/kernel/tracing/trace 21 ... 22 tc-6535 [019] ...1 2672.404466: mlx5e_configure_flower: cookie=0000000067874a55 actions= REDIRECT 23 24- mlx5e_delete_flower: trace flower filter actions and cookies deleted from mlx5:: 25 26 $ echo mlx5:mlx5e_delete_flower >> /sys/kernel/tracing/set_event 27 $ cat /sys/kernel/tracing/trace 28 ... 29 tc-6569 [010] .N.1 2686.379075: mlx5e_delete_flower: cookie=0000000067874a55 actions= NULL 30 31- mlx5e_stats_flower: trace flower stats request:: 32 33 $ echo mlx5:mlx5e_stats_flower >> /sys/kernel/tracing/set_event 34 $ cat /sys/kernel/tracing/trace 35 ... 36 tc-6546 [010] ...1 2679.704889: mlx5e_stats_flower: cookie=0000000060eb3d6a bytes=0 packets=0 lastused=4295560217 37 38- mlx5e_tc_update_neigh_used_value: trace tunnel rule neigh update value offloaded to mlx5:: 39 40 $ echo mlx5:mlx5e_tc_update_neigh_used_value >> /sys/kernel/tracing/set_event 41 $ cat /sys/kernel/tracing/trace 42 ... 43 kworker/u48:4-8806 [009] ...1 55117.882428: mlx5e_tc_update_neigh_used_value: netdev: ens1f0 IPv4: 1.1.1.10 IPv6: ::ffff:1.1.1.10 neigh_used=1 44 45- mlx5e_rep_neigh_update: trace neigh update tasks scheduled due to neigh state change events:: 46 47 $ echo mlx5:mlx5e_rep_neigh_update >> /sys/kernel/tracing/set_event 48 $ cat /sys/kernel/tracing/trace 49 ... 50 kworker/u48:7-2221 [009] ...1 1475.387435: mlx5e_rep_neigh_update: netdev: ens1f0 MAC: 24:8a:07:9a:17:9a IPv4: 1.1.1.10 IPv6: ::ffff:1.1.1.10 neigh_connected=1 51 52Bridge offloads tracepoints: 53 54- mlx5_esw_bridge_fdb_entry_init: trace bridge FDB entry offloaded to mlx5:: 55 56 $ echo mlx5:mlx5_esw_bridge_fdb_entry_init >> set_event 57 $ cat /sys/kernel/tracing/trace 58 ... 59 kworker/u20:9-2217 [003] ...1 318.582243: mlx5_esw_bridge_fdb_entry_init: net_device=enp8s0f0_0 addr=e4:fd:05:08:00:02 vid=0 flags=0 used=0 60 61- mlx5_esw_bridge_fdb_entry_cleanup: trace bridge FDB entry deleted from mlx5:: 62 63 $ echo mlx5:mlx5_esw_bridge_fdb_entry_cleanup >> set_event 64 $ cat /sys/kernel/tracing/trace 65 ... 66 ip-2581 [005] ...1 318.629871: mlx5_esw_bridge_fdb_entry_cleanup: net_device=enp8s0f0_1 addr=e4:fd:05:08:00:03 vid=0 flags=0 used=16 67 68- mlx5_esw_bridge_fdb_entry_refresh: trace bridge FDB entry offload refreshed in 69 mlx5:: 70 71 $ echo mlx5:mlx5_esw_bridge_fdb_entry_refresh >> set_event 72 $ cat /sys/kernel/tracing/trace 73 ... 74 kworker/u20:8-3849 [003] ...1 466716: mlx5_esw_bridge_fdb_entry_refresh: net_device=enp8s0f0_0 addr=e4:fd:05:08:00:02 vid=3 flags=0 used=0 75 76- mlx5_esw_bridge_vlan_create: trace bridge VLAN object add on mlx5 77 representor:: 78 79 $ echo mlx5:mlx5_esw_bridge_vlan_create >> set_event 80 $ cat /sys/kernel/tracing/trace 81 ... 82 ip-2560 [007] ...1 318.460258: mlx5_esw_bridge_vlan_create: vid=1 flags=6 83 84- mlx5_esw_bridge_vlan_cleanup: trace bridge VLAN object delete from mlx5 85 representor:: 86 87 $ echo mlx5:mlx5_esw_bridge_vlan_cleanup >> set_event 88 $ cat /sys/kernel/tracing/trace 89 ... 90 bridge-2582 [007] ...1 318.653496: mlx5_esw_bridge_vlan_cleanup: vid=2 flags=8 91 92- mlx5_esw_bridge_vport_init: trace mlx5 vport assigned with bridge upper 93 device:: 94 95 $ echo mlx5:mlx5_esw_bridge_vport_init >> set_event 96 $ cat /sys/kernel/tracing/trace 97 ... 98 ip-2560 [007] ...1 318.458915: mlx5_esw_bridge_vport_init: vport_num=1 99 100- mlx5_esw_bridge_vport_cleanup: trace mlx5 vport removed from bridge upper 101 device:: 102 103 $ echo mlx5:mlx5_esw_bridge_vport_cleanup >> set_event 104 $ cat /sys/kernel/tracing/trace 105 ... 106 ip-5387 [000] ...1 573713: mlx5_esw_bridge_vport_cleanup: vport_num=1 107 108Eswitch QoS tracepoints: 109 110- mlx5_esw_vport_qos_create: trace creation of transmit scheduler arbiter for vport:: 111 112 $ echo mlx5:mlx5_esw_vport_qos_create >> /sys/kernel/tracing/set_event 113 $ cat /sys/kernel/tracing/trace 114 ... 115 <...>-23496 [018] .... 73136.838831: mlx5_esw_vport_qos_create: (0000:82:00.0) vport=2 tsar_ix=4 bw_share=0, max_rate=0 group=000000007b576bb3 116 117- mlx5_esw_vport_qos_config: trace configuration of transmit scheduler arbiter for vport:: 118 119 $ echo mlx5:mlx5_esw_vport_qos_config >> /sys/kernel/tracing/set_event 120 $ cat /sys/kernel/tracing/trace 121 ... 122 <...>-26548 [023] .... 75754.223823: mlx5_esw_vport_qos_config: (0000:82:00.0) vport=1 tsar_ix=3 bw_share=34, max_rate=10000 group=000000007b576bb3 123 124- mlx5_esw_vport_qos_destroy: trace deletion of transmit scheduler arbiter for vport:: 125 126 $ echo mlx5:mlx5_esw_vport_qos_destroy >> /sys/kernel/tracing/set_event 127 $ cat /sys/kernel/tracing/trace 128 ... 129 <...>-27418 [004] .... 76546.680901: mlx5_esw_vport_qos_destroy: (0000:82:00.0) vport=1 tsar_ix=3 130 131- mlx5_esw_group_qos_create: trace creation of transmit scheduler arbiter for rate group:: 132 133 $ echo mlx5:mlx5_esw_group_qos_create >> /sys/kernel/tracing/set_event 134 $ cat /sys/kernel/tracing/trace 135 ... 136 <...>-26578 [008] .... 75776.022112: mlx5_esw_group_qos_create: (0000:82:00.0) group=000000008dac63ea tsar_ix=5 137 138- mlx5_esw_group_qos_config: trace configuration of transmit scheduler arbiter for rate group:: 139 140 $ echo mlx5:mlx5_esw_group_qos_config >> /sys/kernel/tracing/set_event 141 $ cat /sys/kernel/tracing/trace 142 ... 143 <...>-27303 [020] .... 76461.455356: mlx5_esw_group_qos_config: (0000:82:00.0) group=000000008dac63ea tsar_ix=5 bw_share=100 max_rate=20000 144 145- mlx5_esw_group_qos_destroy: trace deletion of transmit scheduler arbiter for group:: 146 147 $ echo mlx5:mlx5_esw_group_qos_destroy >> /sys/kernel/tracing/set_event 148 $ cat /sys/kernel/tracing/trace 149 ... 150 <...>-27418 [006] .... 76547.187258: mlx5_esw_group_qos_destroy: (0000:82:00.0) group=000000007b576bb3 tsar_ix=1 151 152SF tracepoints: 153 154- mlx5_sf_add: trace addition of the SF port:: 155 156 $ echo mlx5:mlx5_sf_add >> /sys/kernel/tracing/set_event 157 $ cat /sys/kernel/tracing/trace 158 ... 159 devlink-9363 [031] ..... 24610.188722: mlx5_sf_add: (0000:06:00.0) port_index=32768 controller=0 hw_id=0x8000 sfnum=88 160 161- mlx5_sf_free: trace freeing of the SF port:: 162 163 $ echo mlx5:mlx5_sf_free >> /sys/kernel/tracing/set_event 164 $ cat /sys/kernel/tracing/trace 165 ... 166 devlink-9830 [038] ..... 26300.404749: mlx5_sf_free: (0000:06:00.0) port_index=32768 controller=0 hw_id=0x8000 167 168- mlx5_sf_activate: trace activation of the SF port:: 169 170 $ echo mlx5:mlx5_sf_activate >> /sys/kernel/tracing/set_event 171 $ cat /sys/kernel/tracing/trace 172 ... 173 devlink-29841 [008] ..... 3669.635095: mlx5_sf_activate: (0000:08:00.0) port_index=32768 controller=0 hw_id=0x8000 174 175- mlx5_sf_deactivate: trace deactivation of the SF port:: 176 177 $ echo mlx5:mlx5_sf_deactivate >> /sys/kernel/tracing/set_event 178 $ cat /sys/kernel/tracing/trace 179 ... 180 devlink-29994 [008] ..... 4015.969467: mlx5_sf_deactivate: (0000:08:00.0) port_index=32768 controller=0 hw_id=0x8000 181 182- mlx5_sf_hwc_alloc: trace allocating of the hardware SF context:: 183 184 $ echo mlx5:mlx5_sf_hwc_alloc >> /sys/kernel/tracing/set_event 185 $ cat /sys/kernel/tracing/trace 186 ... 187 devlink-9775 [031] ..... 26296.385259: mlx5_sf_hwc_alloc: (0000:06:00.0) controller=0 hw_id=0x8000 sfnum=88 188 189- mlx5_sf_hwc_free: trace freeing of the hardware SF context:: 190 191 $ echo mlx5:mlx5_sf_hwc_free >> /sys/kernel/tracing/set_event 192 $ cat /sys/kernel/tracing/trace 193 ... 194 kworker/u128:3-9093 [046] ..... 24625.365771: mlx5_sf_hwc_free: (0000:06:00.0) hw_id=0x8000 195 196- mlx5_sf_hwc_deferred_free: trace deferred freeing of the hardware SF context:: 197 198 $ echo mlx5:mlx5_sf_hwc_deferred_free >> /sys/kernel/tracing/set_event 199 $ cat /sys/kernel/tracing/trace 200 ... 201 devlink-9519 [046] ..... 24624.400271: mlx5_sf_hwc_deferred_free: (0000:06:00.0) hw_id=0x8000 202 203- mlx5_sf_update_state: trace state updates for SF contexts:: 204 205 $ echo mlx5:mlx5_sf_update_state >> /sys/kernel/tracing/set_event 206 $ cat /sys/kernel/tracing/trace 207 ... 208 kworker/u20:3-29490 [009] ..... 4141.453530: mlx5_sf_update_state: (0000:08:00.0) port_index=32768 controller=0 hw_id=0x8000 state=2 209 210- mlx5_sf_vhca_event: trace SF vhca event and state:: 211 212 $ echo mlx5:mlx5_sf_vhca_event >> /sys/kernel/tracing/set_event 213 $ cat /sys/kernel/tracing/trace 214 ... 215 kworker/u128:3-9093 [046] ..... 24625.365525: mlx5_sf_vhca_event: (0000:06:00.0) hw_id=0x8000 sfnum=88 vhca_state=1 216 217- mlx5_sf_dev_add: trace SF device add event:: 218 219 $ echo mlx5:mlx5_sf_dev_add>> /sys/kernel/tracing/set_event 220 $ cat /sys/kernel/tracing/trace 221 ... 222 kworker/u128:3-9093 [000] ..... 24616.524495: mlx5_sf_dev_add: (0000:06:00.0) sfdev=00000000fc5d96fd aux_id=4 hw_id=0x8000 sfnum=88 223 224- mlx5_sf_dev_del: trace SF device delete event:: 225 226 $ echo mlx5:mlx5_sf_dev_del >> /sys/kernel/tracing/set_event 227 $ cat /sys/kernel/tracing/trace 228 ... 229 kworker/u128:3-9093 [044] ..... 24624.400749: mlx5_sf_dev_del: (0000:06:00.0) sfdev=00000000fc5d96fd aux_id=4 hw_id=0x8000 sfnum=88 230