diff options
author | Andrew Gallatin <gallatin@FreeBSD.org> | 2025-10-01 22:43:05 +0000 |
---|---|---|
committer | Andrew Gallatin <gallatin@FreeBSD.org> | 2025-10-01 22:55:00 +0000 |
commit | 213170eb956fa7eec93c2ab4159d6ed68e8e1b1d (patch) | |
tree | 598edc9de9c91987cfb40a1d01120622f3a7d68f /bin/sh/tests/(developers-only) | |
parent | d0c8a0b3e6fc5372428eb4fddcd4f8c65b5b0ee0 (diff) |
On some iflib drivers, the txd reclaim routine can be fairly expensive
at high packet rates. Iflib was designed with the intent of only
reclaiming tx descriptors above a configurable threshold, but this
logic was left unimplemented.
This change:
- implements 2 new knobs, iflib.tx_reclaim_thresh and
iflib.tx_reclaim_ticks.
- moves tx reclaim thresh from the if_shared_ctx and into the
iflib_ctx as drivers don't need to see it, and it needs to be
changed, so it can't be const
- tx_reclaim_thresh and ticks are replicated into the txq to
improve cache locality of data accessed in the hot path
- ticks is used rather than more expensive timekeeping mechanism so
as to keep things simple and cheap
This change substantially improves packet rates on bnxt. It has been
tested on bxnt and ixl
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D52561
Reviewed by: markj (initial version)
Diffstat (limited to 'bin/sh/tests/(developers-only)')
0 files changed, 0 insertions, 0 deletions