Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Account for rx_dropped packets in linux ifdropped #1329

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gtedesco-r7
Copy link

@gtedesco-r7 gtedesco-r7 commented Jun 27, 2024

Many Linux drivers are not reporting anything into rx_missed_errors or rx_fifo_errors. They, instead, report dropped packets into rx_dropped.

Without including rx_dropped into ps_ifdrop, we can get a wildly optimistic view of performance.

This particularly affects vmxnet3, enic, ena, cxgb, and cxgb4 drivers.

Issue described in: #1328

Many Linux drivers are not reporting anything into rx_missed_errors or
rx_fifo_errors. They, instead, report dropped packets into rx_dropped.

Withtout including rx_dropped into ps_ifdrop, we can get a wildly
optimistic view of performance.

This particularly affects vmxnet3, enic, ena, cxgb, and cxgb4 drivers.
@infrastation
Copy link
Member

Thank you for looking into this problem. In the drivers you mention only Chelsio is a hardware. Do you know if the same logic stands for common 1GbE interfaces found in desktops and servers? The drivers in kernel/drivers/net/ethernet/(broadcom|intel|realtek) would be good examples.

@gtedesco-r7
Copy link
Author

gtedesco-r7 commented Jun 27, 2024

Yeah, so intel ice for example uses rx_dropped and not rx_missed. i40e uses both rx_missed and rx_dropped. Ah but those are 10/40gbe.

@gtedesco-r7
Copy link
Author

gtedesco-r7 commented Jun 27, 2024

tg3 driver uses rx_dropped for aggregated per-rxq drop stats, and rx_missed_errors only includes a global counter, for example

@gtedesco-r7
Copy link
Author

gtedesco-r7 commented Jun 27, 2024

All the really old, classic, drivers like realtek 81392 and tulip use rx_missed_errors only, so maybe that was the only stat that existed back in the days of "pump up the jam" and fresh prince of bel air :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants