To content | To menu | To search

Tag - OpenBSD

Entries feed

Monday 21 August 2017

Faster forwarding

Since a couple of months processing incoming IP packets on OpenBSD no longer requires the KERNEL_LOCK(). The first consequence is an improved latency of the system but apparently it also made packet forwarding 20% faster.

At least that's what Hrvoje Popovski measured by the time of the commit, and more recently on his Xeon box (E5-2643 v2 @ 3.50GHz, 3500.44 MHz). When he performed some tests for the vlan(4) regression, he measured on his machine a throughput of 1.42Mpps. Last week, with a -current kernel he measured a throughput of 1.75Mpps.

Yes, it is a bit more than 20%. Yes, the stack is still mostly single-threaded.

Friday 17 June 2016

ART single thread performances

ART has been the default routing table backend in OpenBSD for some months now. That means that OpenBSD 6.0 will no longer consult the 4.3 BSD reduced radix tree to perform route lookups.

The principal motivation for adopting a new tree implementation can be explained in three letters: SMP.

I'll describe in a different context why and how ART is a good fit in our revamp of OpenBSD network stack. For the moment, let's have a look at the single-thread performances of this algorithm in OpenBSD -current.

Continue reading...