Index | Thread | Search

From:
Hrvoje Popovski <hrvoje@srce.hr>
Subject:
Re: UDP parallel input
To:
tech@openbsd.org
Date:
Wed, 24 Jul 2024 16:20:25 +0200

Download raw body.

Thread
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.