[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <203ae8b4-9b45-43c2-a1e2-a3d0d80b81ea@nvidia.com>
Date: Tue, 19 Aug 2025 10:31:02 +0300
From: Carolina Jubran <cjubran@...dia.com>
To: Vadim Fedorenko <vadim.fedorenko@...ux.dev>, Andrew Lunn
<andrew@...n.ch>, Michael Chan <michael.chan@...adcom.com>,
Pavan Chebbi <pavan.chebbi@...adcom.com>, Tariq Toukan <tariqt@...dia.com>,
Gal Pressman <gal@...dia.com>, intel-wired-lan@...ts.osuosl.org,
Donald Hunter <donald.hunter@...il.com>, Jakub Kicinski <kuba@...nel.org>
Cc: Paolo Abeni <pabeni@...hat.com>, Simon Horman <horms@...nel.org>,
netdev@...r.kernel.org
Subject: Re: [RFC PATCH v5] ethtool: add FEC bins histogramm report
On 18/08/2025 21:35, Vadim Fedorenko wrote:
> On 18/08/2025 19:17, Carolina Jubran wrote:
>>
>>
>> On 15/08/2025 16:27, Vadim Fedorenko wrote:
>>> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
>>> index de5bd76a400ca..6c0dc6ae080a8 100644
>>> --- a/include/linux/ethtool.h
>>> +++ b/include/linux/ethtool.h
>>> @@ -492,7 +492,25 @@ struct ethtool_pause_stats {
>>> };
>>> #define ETHTOOL_MAX_LANES 8
>>> +#define ETHTOOL_FEC_HIST_MAX 18
>>
>> Could you clarify why it is set to 18?
>> AFAIU IEEE 802.3ck/df define 16 bins.
>
> Yeah, the standard defines 16 bins, but this value came out of the
> discussion with Gal and Yael because the hardware supports more bins,
> I believe, in RDMA mode
>
currently I believe those are internal modes that expose 19 on our
hardware. Therefore, I think 16 is sufficient and we can easily extend
in the future.
>>> diff --git a/net/ethtool/fec.c b/net/ethtool/fec.c
>>> index e7d3f2c352a34..9313bd17544fd 100644
>>> --- a/net/ethtool/fec.c
>>> +++ b/net/ethtool/fec.c
>>> @@ -17,6 +17,7 @@ struct fec_reply_data {
>>> u64 stats[1 + ETHTOOL_MAX_LANES];
>>> u8 cnt;
>>> } corr, uncorr, corr_bits;
>>> + struct ethtool_fec_hist fec_stat_hist;
>>> };
>>> #define FEC_REPDATA(__reply_base) \
>>> @@ -113,7 +114,11 @@ static int fec_prepare_data(const struct
>>> ethnl_req_info *req_base,
>>> struct ethtool_fec_stats stats;
>>> ethtool_stats_init((u64 *)&stats, sizeof(stats) / 8);
>>> - dev->ethtool_ops->get_fec_stats(dev, &stats);
>>> + ethtool_stats_init((u64 *)data->fec_stat_hist.values,
>>> + ETHTOOL_MAX_LANES *
>> this should be ETHTOOL_FEC_HIST_MAX since we’re initializing the
>> histogram bins array.
>
> Yes, you're right, I'll change it in the next version
Powered by blists - more mailing lists