On 10/9/24 9:27 AM, Jens Axboe wrote: > On 10/7/24 4:15 PM, David Wei wrote: >> =========== >> Performance >> =========== >> >> Test setup: >> * AMD EPYC 9454 >> * Broadcom BCM957508 200G >> * Kernel v6.11 base [2] >> * liburing fork [3] >> * kperf fork [4] >> * 4K MTU >> * Single TCP flow >> >> With application thread + net rx softirq pinned to _different_ cores: >> >> epoll >> 82.2 Gbps >> >> io_uring >> 116.2 Gbps (+41%) >> >> Pinned to _same_ core: >> >> epoll >> 62.6 Gbps >> >> io_uring >> 80.9 Gbps (+29%) > > I'll review the io_uring bits in detail, but I did take a quick look and > overall it looks really nice. > > I decided to give this a spin, as I noticed that Broadcom now has a > 230.x firmware release out that supports this. Hence no dependencies on > that anymore, outside of some pain getting the fw updated. Here are my > test setup details: > > Receiver: > AMD EPYC 9754 (recei > Broadcom P2100G > -git + this series + the bnxt series referenced > > Sender: > Intel(R) Xeon(R) Platinum 8458P > Broadcom P2100G > -git > > Test: > kperf with David's patches to support io_uring zc. Eg single flow TCP, > just testing bandwidth. A single cpu/thread being used on both the > receiver and sender side. > > non-zc > 60.9 Gbps > > io_uring + zc > 97.1 Gbps so line rate? Did you look at whether there is cpu to spare? meaning it will report higher speeds with a 200G setup?