This is an observation when receiving bulk traffic with LRO enabled. Checking for available RX descriptors at the end of iflib_rxeof() leads to aggregating only 2-3 frames, causes higher CPU utilization, and regresses the latency of large packet processing (e.g. 64K). So we add a sysctl allowing us the flexibility of switching it back to IRQ-driven RX. When enabled, this has shown to improve CPU utilization by about 20% on our X550 line of adaptors.
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 35175 Build 32125: arc lint + arc unit
Event Timeline
Comment Actions
This change with re-arm IRQ i.e, rx_wait_irq = 1, also helped NetApp to improve latency in 64K writes.