Date: Fri, 20 Aug 2004 00:12:05 -0400 (EDT) From: Robert Watson <rwatson@freebsd.org> To: Roman Kurakin <rik@cronyx.ru> Cc: freebsd-current@freebsd.org Subject: Re: Tracking down LORs Message-ID: <Pine.NEB.3.96L.1040820001041.20697B-100000@fledge.watson.org> In-Reply-To: <41252924.4020305@cronyx.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 20 Aug 2004, Roman Kurakin wrote: > Currently I am trying to track down a couple of LORS in my code. > But it seems that I do not undestand smth or all things id realy so bad. I find it's very helpful to add lock orders to the hard-coded lock order table in subr_witness.c. Without hard-coded entries, WITNESS will dynamically build an order based on observed lock use. This is generally fine, but once in a while the "wrong" order will be used before the "right" order, so the lock order warning will print for the "right" order, leaving less useful debugging information. The table allows the definition of partial orders, so you can specify relationships between subsets of mutexes of interest. WITNESS will flesh out remaining orders through dynamic discovery. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research > > So I want to ask some questions to find out if my thoughts > correct or wrong. > > 1. If I am right LOR means that we have at least two mutexs. > Lets call them a and b. If we set a, then b in first case > and b then a in second we could get dead loop, and thus LOR. > > 2. If I have some driver that have mutex a, and we have some > sytem code that could call this driver with Giant (b), we would > get LOR if driver lock a and some other part of system will > try to lock Giant? > > or I am wrong? > > rik > > > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040820001041.20697B-100000>