HomeFreeBSD

Add knob to control tx ring abdication.

Description

Add knob to control tx ring abdication.

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

Details

Provenance
shurdAuthored on
Reviewer
gallatin
Differential Revision
D16302: Add knob to control tx ring abdication.
Parents
rS336559: Improve netmap TX handling when TX IRQs are not used/supported
Branches
Unknown
Tags
Unknown