Page MenuHomeFreeBSD

if_bnxt: add host-based TX completion coalescing
AcceptedPublic

Authored by sumit.saxena_broadcom.com on Mon, Aug 3, 12:09 PM.
Tags
None
Referenced Files
F165149113: D58600.diff
Thu, Aug 6, 10:08 AM
Unknown Object (File)
Mon, Aug 3, 2:45 PM
Subscribers
None

Details

Summary

Suppress per-BD completions (TX_BD_LONG_FLAGS_NO_CMPL/_COAL_NOW) and
accumulate a running_bds count per ring, forcing a real completion
when iflib requests one or when the count nears overflowing the
opaque bd-count field. Replaces the previous raw (bd_count << 24 |
idx) TX completion opaque encoding, which only had 8 bits for the
count and would overflow well within these coalescing thresholds,
with a tx_bd_opaque bitfield (16-bit idx + 15-bit bds + 1-bit
ktls_replay for later use). Add tx_host_coal_bds/tx_host_coal_enable
sysctls to tune and toggle it.

Signed-off-by: Drew Gallatin <gallatin@FreeBSD.org>

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped