[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231220173837.3326983-1-aleksandr.loktionov@intel.com>
Date: Wed, 20 Dec 2023 18:38:37 +0100
From: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
To: intel-wired-lan@...ts.osuosl.org,
anthony.l.nguyen@...el.com,
aleksandr.loktionov@...el.com
Cc: netdev@...r.kernel.org,
Przemek Kitszel <przemyslaw.kitszel@...el.com>
Subject: [PATCH iwl-next v2] i40e: add trace events related to SFP module IOCTLs
Add trace events related to SFP module IOCTLs for troubleshooting.
Example:
echo "i40e_*" >/sys/kernel/tracing/set_ftrace_filter
echo "i40e_ioctl*" >/sys/kernel/tracing/events/i40e/filter
echo 1 >/sys/kernel/tracing/tracing_on
echo 1 >/sys/kernel/tracing/events/i40e/enable
...
cat /sys/kernel/tracing/trace
Riewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
---
v1->v2 applied to proper git branch
---
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 5 +++++
drivers/net/ethernet/intel/i40e/i40e_trace.h | 18 ++++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index c841779..bdf2b6b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -1074,6 +1074,7 @@ static int i40e_get_link_ksettings(struct net_device *netdev,
ethtool_link_ksettings_zero_link_mode(ks, supported);
ethtool_link_ksettings_zero_link_mode(ks, advertising);
+ i40e_trace(ioctl_get_link_ksettings, pf, hw_link_info->link_info);
if (link_up)
i40e_get_settings_link_up(hw, ks, netdev, pf);
else
@@ -5585,9 +5586,12 @@ static int i40e_get_module_info(struct net_device *netdev,
modinfo->eeprom_len = I40E_MODULE_QSFP_MAX_LEN;
break;
default:
+ i40e_trace(ioctl_get_module_info, pf, ~0UL);
netdev_dbg(vsi->netdev, "SFP module type unrecognized or no SFP connector used.\n");
return -EOPNOTSUPP;
}
+ i40e_trace(ioctl_get_module_info, pf, (((u64)modinfo->type) << 32) |
+ modinfo->eeprom_len);
return 0;
}
@@ -5610,6 +5614,7 @@ static int i40e_get_module_eeprom(struct net_device *netdev,
int status;
int i;
+ i40e_trace(ioctl_get_module_eeprom, pf, ee ? ee->len : 0U);
if (!ee || !ee->len || !data)
return -EINVAL;
diff --git a/drivers/net/ethernet/intel/i40e/i40e_trace.h b/drivers/net/ethernet/intel/i40e/i40e_trace.h
index 33b4e30..b9be2f4 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_trace.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_trace.h
@@ -202,6 +202,24 @@ DEFINE_EVENT(
TP_ARGS(ring, desc, xdp));
+DEFINE_EVENT(
+ i40e_ioctl_template, i40e_ioctl_get_module_info,
+ TP_PROTO(struct i40e_pf *pf, u64 val),
+
+ TP_ARGS(pf, val));
+
+DEFINE_EVENT(
+ i40e_ioctl_template, i40e_ioctl_get_module_eeprom,
+ TP_PROTO(struct i40e_pf *pf, u64 val),
+
+ TP_ARGS(pf, val));
+
+DEFINE_EVENT(
+ i40e_ioctl_template, i40e_ioctl_get_link_ksettings,
+ TP_PROTO(struct i40e_pf *pf, u64 val),
+
+ TP_ARGS(pf, val));
+
DECLARE_EVENT_CLASS(
i40e_xmit_template,
--
2.25.1
Powered by blists - more mailing lists