Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jan 1997 09:59:03 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        louie@TransSys.COM (Louis A. Mamakos)
Cc:        julian@whistle.com, hackers@freebsd.org
Subject:   Re: Network interfaces: removal of.
Message-ID:  <199701281659.JAA08236@phaeton.artisoft.com>
In-Reply-To: <199701280402.XAA03991@whizzo.transsys.com> from "Louis A. Mamakos" at Jan 27, 97 11:02:20 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> While I'm sure that the modules that reference interfaces are finite, 
> there's nothing to allocate references to them.  This would require a
> level of discipline unknown to the BSD net code.  Hell, you might just
> as well wish for locks on the data structures to make the code SMP safe :-)


Locking data is not as useful as locking context for SMP-izing them
for kernel reentrancy/preemption.  Specifically, if you lock data,
you must place all your locks in a hierarchical graph, and then
compute transitive closure over the entire graph when you go to assert
any lock.  If you lock, and group locks, by context (subsystem), then
you only need to compute transitive closure of the region of the
graph that the context is in.  Further, if you use intention mode
locking, you can precompute everything but the last pass of Warshall's
algorithm for the intention nodes, and then compute closure almost
instantaneously when an actual assert takes place.  On the order of
6,000 times more locks per second than the Tuxedo system is capable
of, on the same hardware, actually.


					Regards,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701281659.JAA08236>