Network Stack Locking
Matthew Dillon
dillon at apollo.backplane.com
Tue May 25 11:21:07 PDT 2004
:
:
:On Mon, 24 May 2004, Matthew Dillon wrote:
:
:> Deep message queues aren't necessarily a problem and, in fact, having
:> one or two dozen messages backed up in a protocol thread's message
:> port is actually good because the thread can then process all the
:> messages in a tight loop (cpu and cache locality of reference). If
:> designed properly, this directly mitigates the cost of a thread switch
:> as system load increases. So message queueing has the opposite effect...
:> per-unit handling overhead *decreases* as system load increases.
:
:Actually, this was the specific point I was making also :-). The question
:I was asking was about the depth of the message queues between protocol
:stack layers in actual measurements -- are you observing substantial
:coallescing between layers as a result of the queues at this point? I'm
:looking for emperical evidence that the coallescing does make up for the
:extra context switches of the model in practice...
:
:Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
:robert at fledge.watson.org Senior Research Scientist, McAfee Research
I won't be able to test that for a while. So far most of the tests
we've conducted have been simply TCP and UDP streams (e.g. rcp, NFS mounts,
etc). I'll keep it in mind when we get to that point.
It should also be noted that since today's processors are so damn fast,
actually maxing out the cpu before maxing out the PCI bus(es), at least
on a standard workstation, is difficult.
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the freebsd-arch
mailing list