Subject: Re: [PATCH v2 net-next] net/mlx5e: Report rx_discards_phy via rx_fifo_errors

From: Jakub Kicinski <[email-masked]>
Date: Fri, 15 Nov 2024 13:25:19 -0800

On Fri, 15 Nov 2024 11:54:38 -0800 Saeed Mahameed wrote:
> >We can, but honestly I'd just make sure they are counted in rx_dropped  
> 
> rx_dropped: Number of packets received but not processed,
>   *   e.g. due to lack of resources or unsupported protocol.
>   *   For hardware interfaces this counter may include packets discarded
>   *   due to L2 address filtering but should not include packets dropped
>                                   ^^^^^^^^^^^^^^
>   *   by the device due to buffer exhaustion which are counted separately in
>                            ^^^^^^^^^^^^^^^^^
>   *   @rx_missed_errors (since procfs folds those two counters together).
>       ^^^^^^^^^^^^^^^^^

I presume you quote this comment to indicate the rx_dropped should
count packets dropped due to buffer exhaustion? If yes then you don't
understand the comment. If no then I don't understand why you're
quoting it.

> I think we should use rx_fifo_errors for this and update documentation:
> 
> rx_missed_errors --> host buffers
> rx_fifo_errors   --> device buffers

In theory I'd love to use fifo errors to mean device buffer drops.
In practice devices can backpressure due to host slowness, so the
device drops are hard to categorize. The vendors themselves have
limited understanding of how their devices will behave under real
workloads. And once devices are deployed it may be too late to change
definitions.

> rx_dropped       --> unsupported portocols, filter drops, link down, etc..