Page MenuHomeFreeBSD

Adjust stat counters for Intel drivers.
ClosedPublic

Authored by jhb on Apr 29 2015, 7:09 PM.
Tags
None
Referenced Files
F103810969: D2402.id5090.diff
Fri, Nov 29, 6:07 PM
F103810962: D2402.id5089.diff
Fri, Nov 29, 6:07 PM
Unknown Object (File)
Thu, Nov 21, 3:30 AM
Unknown Object (File)
Sat, Nov 2, 1:47 AM
Unknown Object (File)
Sat, Nov 2, 1:47 AM
Unknown Object (File)
Sat, Nov 2, 1:46 AM
Unknown Object (File)
Sat, Nov 2, 1:46 AM
Unknown Object (File)
Sat, Nov 2, 1:31 AM
Subscribers

Details

Summary

Various fixes to the stats in igb(4) and ixgbe(4).

  • Use hardware counters for ifnet stats in igb(4) when possible. This ensures these stats include packets that bypass the regular stack via netmap.
  • Don't derefence values off the end of the igb(4) VF stats structure. Instead, add a dedicated if_get_counter method for igb(4) VF interfaces.
  • Report missed packets on igb(4) as input queue drops rather than an input error.
  • Report bug_ring drop counts as output queue drops for igb(4) and ixgbe(4).
  • Export the buf_ring drop stats for individual rings via sysctl on ixgbe(4).
Test Plan
  • Booted this on HEAD on a machine with regular igb and stats still work correctly.
  • I was able to test a version of this for 10 and verify that missed packets and buf_ring drops showed up correctly. However, 10 is quite different from HEAD due to if_get_counter. I was not able to repeat those earlier tests under HEAD.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb retitled this revision from to Adjust stat counters for Intel drivers..
jhb updated this object.
jhb edited the test plan for this revision. (Show Details)
jhb added reviewers: jfv, erj.
jhb added a subscriber: adrian.
jhb edited edge metadata.
  • Properly store output queue drops in oqdrops instead of iqdrops.
jfv edited edge metadata.

Looks good, thanks much John!

This revision is now accepted and ready to land.Apr 29 2015, 8:38 PM
This revision was automatically updated to reflect the committed changes.