Validated for Ubuntu Bionic with the current HWE kernel from bionic-proposed. Tested on a 10G NIC that's affected by this patch (device ID 0x0903). iperf3 shows that we're able to almost saturate the NIC successfully in both standard and reverse sender mode:
[ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 10.2 GBytes 8.80 Gbits/sec 376 sender [ 5] 0.00-10.00 sec 10.2 GBytes 8.80 Gbits/sec receiver [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 10.9 GBytes 9.39 Gbits/sec 0 sender [ 5] 0.00-10.00 sec 10.9 GBytes 9.38 Gbits/sec receiver ubuntu@duduo:~$ uname -rv 5.4.0-108-generic #122~18.04.1-Ubuntu SMP Wed Apr 6 16:57:12 UTC 2022 Other basic smoke testing confirms no major regressions. ** Tags removed: verification-needed-bionic ** Tags added: verification-done-bionic -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1964512 Title: Low RX performance for 40G Solarflare NICs Status in linux package in Ubuntu: Fix Committed Status in linux source package in Focal: Fix Committed Status in linux source package in Impish: Fix Committed Status in linux source package in Jammy: Fix Committed Bug description: [Impact] * Some 40G Solarflare NICs have low RX performance in some cases, due low RX recycle ring size * RX recycle ring size is either 4096 for IOMMU, 16 for NOIOMMU * The low fixed sizes can cause a high number of calls to alloc_pages, tanking performance for higher link speeds [Test Plan] * Users report that iperf3 is sufficient to showcase the bad RX performance * For some setups, RX performance was around 15Gbps while TX stayed consistently above 30Gbps [Fix] * This patch sets the RX recycle ring size according to an adapter's maximum link speed * Fix was introduced by commit: 000fe940e51f "sfc: The size of the RX recycle ring should be more flexible" * --!-- Commit is from net-next --!-- [Regression Potential] * Regressions would show primarily as performance issues, as we're effectively changing ring sizes for all RX traffic * It's possible to see increased calls to alloc_pages if ring sizes aren't being set correctly * We should look out for excessive memory usage in the sfc driver due to the increased ring sizes To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1964512/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp