LOR route vr0
M. Warner Losh
imp at bsdimp.com
Sat Aug 27 18:49:43 GMT 2005
In message: <20050827184153.A24510 at fledge.watson.org>
Robert Watson <rwatson at FreeBSD.org> writes:
:
: On Sat, 27 Aug 2005, M. Warner Losh wrote:
:
: > : Generally speaking, network interface device driver locks follow network
: > : stack locks in the lock order. However, I've not really looked much at
: > : the route table locking so can't speak to whether that is the case
: > : specifically for routing locks. If it is, the below traces reflect the
: > : correct order, and you might want to add a hard-coded entry to witness in
: > : order to catch the reverse order.
: >
: > Can you pose a quickie summary on how to do that? I tried last night and
: > was unsuccessful...
:
: You need to add an entry to subr_witness.c creating a graph edge between
: the softc lock and the routing lock. An example of an entry in
: subr_witness.c:
:
: /*
: * TCP/IP
: */
: { "tcp", &lock_class_mtx_sleep },
: { "tcpinp", &lock_class_mtx_sleep },
: { "so_snd", &lock_class_mtx_sleep },
: { NULL, NULL },
:
: Note that sets of ordered entries are terminated with a double-null. This
: declares that locks of type "tcp" preceed "tcpinp" which preceed
: "so_snd".
So you have to have locks of type tcp BEFORE you take out tcpinp type
locks?
Warner
More information about the freebsd-current
mailing list