Validated for Ubuntu Impish with the current kernel from impish-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.1 GBytes 8.69 Gbits/sec 990 sender [ 5] 0.00-9.99 sec 10.1 GBytes 8.69 Gbits/sec receiver [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 10.8 GBytes 9.30 Gbits/sec 155 sender [ 5] 0.00-10.00 sec 10.8 GBytes 9.30 Gbits/sec receiver ubuntu@duduo:~$ uname -rv 5.13.0-40-generic #45-Ubuntu SMP Tue Mar 29 14:48:14 UTC 2022 Other basic smoke testing confirms no major regressions. ** Tags removed: verification-needed-impish ** Tags added: verification-done-impish -- 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 : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

