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)
Tue, Apr 2, 2:20 PM
Unknown Object (File)
Feb 14 2024, 4:29 PM
Unknown Object (File)
Jan 18 2024, 11:57 PM
Unknown Object (File)
Jan 13 2024, 3:48 AM
Unknown Object (File)
Jan 2 2024, 2:07 AM
Unknown Object (File)
Sep 10 2023, 12:16 PM
Unknown Object (File)
Sep 8 2023, 3:36 AM
Unknown Object (File)
Aug 28 2023, 6:42 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