LOR route vr0
John Baldwin
jhb at FreeBSD.org
Mon Aug 29 18:36:01 GMT 2005
On Sunday 28 August 2005 12:20 am, Robert Watson wrote:
> On Sat, 27 Aug 2005, M. Warner Losh wrote:
> > : Correct. 'tcp' reflects the global TCP state tables (pcbinfo) locks,
> > : and 'tcpinp' is for individual PCBs. If you acquire first a tcpinp and
> > : then tcp, the above settings should cause WITNESS to generate a lock
> > : order warning. Likewise, both tcp and tcpinp preceed so_snd, so if you
> > : acquire a protocol lock after a socket lock, it will get unhappy.
> > : WITNESS handles transitive relationships, so it gets connected up to
> > : the rest of the lock graph, explicit and implicit, so indirect
> > : violations of orders are fully handled.
> >
> > OK. I've been seeing similar LORs in ed, sn, iwi (ed is my locked
> > version of ed, not in tree GIANT locked ed).
> >
> > I've made the following changes, and the LORs go away (except for one,
> > which was unrelated). I further don't get the first place where they
> > locks happen that caused the original LORs, so I'm mightly confused.
>
> Hmm. I've seen another identical report recently -- that when a lock
> order is put into WITNESS, reversals against it are not reported. I
> wonder if we've got a witness bug on our hands?
Note that in this case the problem shows up because of a series of transitive
lock orders. It would be useful to see the graph from show witness before
you add the hard-coded entries to see why it thinks rtentry comes after
MTX_NETWORK_LOCK.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list