aboutsummaryrefslogtreecommitdiff
path: root/sys/net/mp_ring.h
Commit message (Collapse)AuthorAgeFilesLines
* mp_ring: avoid items offset difference between iflib and mp_ringMatt Macy2019-01-031-1/+5
| | | | | | | | | on architectures without 64-bit atomics Reported by: Augustin Cavalier <waddlesplash@gmail.com> Notes: svn path=/head/; revision=342749
* Add knob to control tx ring abdication.Stephen Hurd2018-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | r323954 changed the mp ring behaviour when 64-bit atomics were available to abdicate the TX ring rather than having one become a consumer thereby running to completion on TX. The consumer of the mp ring was then triggered in the tx task rather than blocking the TX call. While this significantly lowered the number of RX drops in small-packet forwarding, it also negatively impacts TX performance. With this change, the default behaviour is reverted, causing one TX ring to become a consumer during the enqueue call. A new sysctl, dev.X.Y.iflib.tx_abdicate is added to control this behaviour. Reviewed by: gallatin Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D16302 Notes: svn path=/head/; revision=336560
* Import the 'iflib' API library for network drivers. From the author:Scott Long2016-05-181-0/+71
"iflib is a library to eliminate the need for frequently duplicated device independent logic propagated (poorly) across many network drivers." Participation is purely optional. The IFLIB kernel config option is provided for drivers that want to transition between legacy and iflib modes of operation. ixl and ixgbe driver conversions will be committed shortly. We hope to see participation from the Broadcom and maybe Chelsio drivers in the near future. Submitted by: mmacy@nextbsd.org Reviewed by: gallatin Differential Revision: D5211 Notes: svn path=/head/; revision=300113