[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45053235-3b01-42d8-98aa-042681104d11@iscas.ac.cn>
Date: Sat, 6 Sep 2025 00:35:37 +0800
From: Vivian Wang <wangruikang@...as.ac.cn>
To: Simon Horman <horms@...nel.org>
Cc: Andrew Lunn <andrew+netdev@...n.ch>, Jakub Kicinski <kuba@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Yixun Lan <dlan@...too.org>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>, Philipp Zabel <p.zabel@...gutronix.de>,
Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt
<palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Alexandre Ghiti <alex@...ti.fr>, Vadim Fedorenko
<vadim.fedorenko@...ux.dev>, Junhui Liu <junhui.liu@...moral.tech>,
Maxime Chevallier <maxime.chevallier@...tlin.com>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-riscv@...ts.infradead.org,
spacemit@...ts.linux.dev, linux-kernel@...r.kernel.org,
Troy Mitchell <troy.mitchell@...ux.spacemit.com>, Vivian Wang <uwu@...m.page>
Subject: Re: [PATCH net-next v9 2/5] net: spacemit: Add K1 Ethernet MAC
On 9/6/25 00:01, Simon Horman wrote:
> On Fri, Sep 05, 2025 at 11:45:29PM +0800, Vivian Wang wrote:
>
> ...
>
> Hi Vivian,
>
>>>> + status = emac_rx_frame_status(priv, rx_desc);
>>>> + if (unlikely(status == RX_FRAME_DISCARD)) {
>>>> + ndev->stats.rx_dropped++;
>>> As per the comment in struct net-device,
>>> ndev->stats should not be used in modern drivers.
>>>
>>> Probably you want to implement NETDEV_PCPU_STAT_TSTATS.
>>>
>>> Sorry for not mentioning this in an earlier review of
>>> stats in this driver.
>>>
>> On a closer look, these counters in ndev->stats seems to be redundant
>> with the hardware-tracked statistics, so maybe I should just not bother
>> with updating ndev->stats. Does that make sense?
> For rx/tx packets/bytes I think that makes sense.
> But what about rx/tx drops?
Right... but tstats doesn't have *_dropped. It seems that tx_dropped and
rx_dropped are considered "slow path" for real devices. It makes sense
to me that those should be very rare.
So it seems that what I should do is to just track tx_dropped and
rx_dropped myself in a member in emac_priv and report in the
ndo_get_stats64 callback, and use the hardware stuff for the rest, as
implemented now.
Vivian "dramforever" Wang
Powered by blists - more mailing lists