FYI: merging TCP, UDP, netisr locking changes
Robert Watson
rwatson at FreeBSD.org
Tue May 24 11:24:48 UTC 2011
Dear all:
Over the next few days, I will be merging a number of TCP-related locking
changes, as well as changes to various network stack infrastructure bits, such
as the netisr implementation. The goal, generally, has been to move us in the
direction of supporting more clear CPU affinity for network flows, the ability
to program filters in network cards to support those affinities explicitly,
and elimination of cache line contention (whether by locks, stats, etc) during
high-volume parallel steady-state TCP load, with ancillary benefits
(hopefully) for UDP and other protocols. This has implied non-trivial changes
to our inpcb locking model, netisr code, etc. Detailed information will
appear in commit messages as I go; some elements, such a programming of card
filters based on setting TCP socket options, are very much a work in progress.
Obviously, there are no bugs in this code at all. However, if they are, they
might manifest as network problems, new WITNESS warnings, etc, and network
stack exercise + reports would be greatly appreciated!
This work has been sponsored by Juniper Networks. Thanks also to Bjoern Zeeb,
who has been reviewing changes!
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the freebsd-current
mailing list