HEADS UP: network locking work going on

Sam Leffler sam at errno.com
Tue Aug 19 15:59:21 PDT 2003


I'm actively working on improving the network performance of -current. 
Much of this work involves removing Giant from the network stack.  I've 
already been in touch with many developers that are working in this area; 
this note is to insure "everyone" is aware.  If your are actively working 
on stuff related to the network code and I haven't already corresponded 
with you; please let me know so we can coordinate our work--I have no 
interest in duplicating the efforts of others.  Otherwise, if you are 
working in this area I'd appreciate knowing about any significant changes 
planned that might affect what I'm doing.

As to the work itself, the overall goal is to bring the performance for 
"normal network use" back to at least that of -stable.  This is to be done 
in time for the 5.2 release though the specifics of what is included in 5.2 
are to be determined.  Obviously the main work here is to remove Giant and 
to that end I've already made a pass over the following areas (in no 
specific order):

raw sockets
routing table (except multicast routing)
fast ipsec
fast forwarding
bridge
ipfw
802.11 layer
fxp, em, sis, wi, and ath drivers

For the most part I've been working "from the bottom up".  I run numerous 
systems w/o Giant in my network drivers and with the "middleware" Giant 
free (e.g. I have a soekris 4501 running bridge+ipfw w/o Giant).  At the 
moment I am concentrating on correctness and not performance so I cannot 
report how much improvement there is.

I'll be posting all significant changes for review before they are 
committed.  Expect the first wave of stuff today and tomorrow.  Developers 
can "play along" by checking out the sam_netperf branch in the p4 repo.

Once the work on the lower layer is stable I'll be turning my attention to 
the upper layers of the network and to IPv6 and NFS.  There's plenty of 
work to go around, so if you're interested in participating please let me 
know.

	Sam



More information about the freebsd-arch mailing list