From: Hrvoje Popovski Subject: Re: UDP parallel input To: tech@openbsd.org Date: Wed, 24 Jul 2024 16:20:25 +0200 On 23.7.2024. 15:40, Alexander Bluhm wrote: > Hi, > > mvs@ has completed the final bits to make socket buffer MP safe for > UDP packets. This means that we can run UDP input on multiple > threads. Diff below activates this. > > Usually IP processing runs on multiple softnet threads with shared > net lock. From there local packets are queued and processed by one > thread with exclusive net lock. If the PR_MPINPUT flag is set, > protocol input is called directly from IP input on multiple threads, > shared net lock and no additional queueing. > > Note that you need kernel sources from at least Sun Jul 21. Then > apply this diff and test UDP local delivery to sockets. To see an > performance effect, you need multiple CPUs and network interfaces > that support multiqueue. These are bnxt, igc, ix, ixl, ngbe, vmx. > > Please test! Hi, I'm running this diff on pfsync setup with wireguard and in lab i'm hitting it with 4 x 16 udp iperf input streams and for now everything seems stable.