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
F104689347: D23950.diff
Sun, Dec 8, 8:14 PM
Unknown Object (File)
Sat, Nov 23, 3:56 AM
Unknown Object (File)
Tue, Nov 19, 2:09 AM
Unknown Object (File)
Nov 4 2024, 2:57 PM
Unknown Object (File)
Oct 26 2024, 6:13 AM
Unknown Object (File)
Oct 24 2024, 3:00 AM
Unknown Object (File)
Oct 3 2024, 2:57 PM
Unknown Object (File)
Oct 3 2024, 9:28 AM
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

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable