Date: Sat, 27 Aug 2005 12:49:41 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: rwatson@FreeBSD.org Cc: bzeeb-lists@lists.zabbadoz.net, freebsd-current@FreeBSD.org, dandee@volny.cz Subject: Re: LOR route vr0 Message-ID: <20050827.124941.14976142.imp@bsdimp.com> In-Reply-To: <20050827184153.A24510@fledge.watson.org> References: <20050827181827.O24510@fledge.watson.org> <20050827.114013.35047360.imp@bsdimp.com> <20050827184153.A24510@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20050827184153.A24510@fledge.watson.org>
Robert Watson <rwatson@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050827.124941.14976142.imp>
