HEADS UP: network locking work going on
Sam Leffler
sam at errno.com
Tue Aug 19 16:18:07 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-net
mailing list