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
Unknown Object (File)
Tue, Aug 25, 12:27 PM
Unknown Object (File)
Fri, Aug 21, 9:13 PM
Unknown Object (File)
Fri, Aug 21, 6:43 PM
Unknown Object (File)
Thu, Aug 20, 6:00 PM
Unknown Object (File)
Wed, Aug 19, 12:53 AM
Unknown Object (File)
Mon, Aug 17, 7:20 AM
Unknown Object (File)
Sat, Aug 15, 1:50 AM
Unknown Object (File)
Sat, Aug 8, 8:52 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