Thread (13 messages) 13 messages, 6 authors, 2024-09-10

Re: [PATCH net] bareudp: Fix device stats updates.

From: Eric Dumazet <edumazet@google.com>
Date: 2024-09-06 12:47:30

On Fri, Sep 6, 2024 at 12:42 PM Guillaume Nault [off-list ref] wrote:
On Wed, Sep 04, 2024 at 02:48:39PM -0700, Jakub Kicinski wrote:
quoted
On Wed, 4 Sep 2024 19:54:40 +0200 Guillaume Nault wrote:
quoted
In this context, I feel that dstats is now just a mix of tstats and
core_stats.
I don't know the full background but:

 *    @core_stats:    core networking counters,
 *                    do not use this in drivers
Hum, I didn't realise that :/.

I'd really like to understand why drivers shouldn't use core_stats.

I mean, what makes driver and core networking counters so different
that they need to be handled in two different ways (but finally merged
together when exporting stats to user space)?

Does that prevent any contention on the counters or optimise cache line
access? I can't see how, so I'm probably missing something important
here.
Some archeology might help.

Before we had tracing, having separate fields could help for diagnostics.

commit caf586e5f23cebb2a68cbaf288d59dbbf2d74052
Author: Eric Dumazet [off-list ref]
Date:   Thu Sep 30 21:06:55 2010 +0000

    net: add a core netdev->rx_dropped counter

    In various situations, a device provides a packet to our stack and we
    drop it before it enters protocol stack :
    - softnet backlog full (accounted in /proc/net/softnet_stat)
    - bad vlan tag (not accounted)
    - unknown/unregistered protocol (not accounted)

    We can handle a per-device counter of such dropped frames at core level,
    and automatically adds it to the device provided stats (rx_dropped), so
    that standard tools can be used (ifconfig, ip link, cat /proc/net/dev)

    This is a generalization of commit 8990f468a (net: rx_dropped
    accounting), thus reverting it.

    Signed-off-by: Eric Dumazet [off-list ref]
    Signed-off-by: David S. Miller [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help