FreeBSD TCP/IP Cleanup and Optimizations
dillon at apollo.backplane.com
Mon Aug 1 08:27:37 PDT 2005
:-On [20050801 09:45], Albert Miles Enabe (amenabe at xxxxxxxxx) wrote:
:>May I know if these would-be optimizations will also
:>find their way into the DragonFly kernel?
:I think you will find Jeffrey Hsu already did a lot of cleanups, rewrites
:Furthermore, the optimization of FreeBSD is needed due to their way of SMP.
:Our way of SMP is radically different, and dare I say easier, than theirs.
:So I doubt much of that work would be ported over. They are two radically
:Jeroen Ruigrok van der Werven <asmodai(at)wxs.nl> / asmodai / kita no mono
Yah, I would agree with that assessment. Our networking subsystem and
our TCP stack in particular is already far ahead of FreeBSD's. Jeff
and I (mostly Jeff) have been working on it for a while. Nearly all of
our networking paths are already very close to optimal. For example,
Jeff implemented an objcache memory allocator that has far more optimal
allocation and deallocation paths for mbuf handling then what you see
The top two items on my TODO list after Joerg finishes the stat work
and we roll a new preview are: Getting rid of the BGL from the network
stack and implementing undo records in the journaling code.
The BGL work on the network stack is very close. There are two queueing
mechanisms that need to be locked up (sockbufs and IPQ), after which we
will basically be able to turn off the big giant lock in the network
protocol threads. IPQ should be straightforward. The sockbufs are more
of an issue but it should be possible to separate the reader and writer
sides of each sockbuf to avoid contention between userland and the
<dillon at xxxxxxxxxxxxx>
More information about the Kernel