Page MenuHomeFreeBSD

Adjust if_vmx default receive ring size and receive ring buffers sizes to improve out-of-box performance
ClosedPublic

Authored by pkelsey on Mar 3 2020, 5:29 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Jan 28, 1:50 PM
Unknown Object (File)
Sun, Jan 15, 10:11 AM
Unknown Object (File)
Dec 29 2022, 3:23 PM
Unknown Object (File)
Dec 15 2022, 5:23 PM
Unknown Object (File)
Dec 12 2022, 12:23 PM
Subscribers

Details

Summary

This patch improves performance with jumbo frames and/or LRO enabled (i.e., when there may be multiple descriptors per packet) by increasing the default size of the receive queue, and by always using page-sized buffers for the body-type receive ring (which relies on the patch in D23947).

This patch also adjusts the initialization of max frame size to remove cases where certain configuration sequences would result in 2K receive buffers being used instead of 4K ones when jumbo frames were enabled.

Test Plan

This has been tested on a 12.1 system (with r356932 applied) with em and vmx devices, and with the patches from D23943, D23945, D23946, and D23949 applied.

This builds for 13-current, but testing on 13-current is waiting for the package system to get fixed.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped