Date: Thu, 9 May 2013 18:46:27 +0200 From: Attilio Rao <attilio@freebsd.org> To: Marcel Moolenaar <marcel@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r250411 - in head/sys: conf kern sys Message-ID: <CAJ-FndBY%2ByuUdvO4zP3kf2W4gDvB-uih19bqdmkFW3E4NcrHtw@mail.gmail.com> In-Reply-To: <201305091628.r49GSI33039873@svn.freebsd.org> References: <201305091628.r49GSI33039873@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 9, 2013 at 6:28 PM, Marcel Moolenaar <marcel@freebsd.org> wrote: > Author: marcel > Date: Thu May 9 16:28:18 2013 > New Revision: 250411 > URL: http://svnweb.freebsd.org/changeset/base/250411 > > Log: > Add option WITNESS_NO_VNODE to suppress printing LORs between VNODE > locks. To support this, VNODE locks are created with the LK_IS_VNODE > flag. This flag is propagated down using the LO_IS_VNODE flag. > > Note that WITNESS still records the LOR. Only the printing and the > optional entering into the kernel debugger is bypassed with the > WITNESS_NO_VNODE option. This is the wrong way to deal with such problem and I avoided to do something like that on purpose. The way to fix this is to implement LK_NOWITNESS on a per-lock basis into lockmgr, propagate the same concept to the vn_lock() (which should be basically done automatically) and finally identify the false-positive case and commit for them explicitely LK_NOWITNESS on a per-call basis, explaining in detail why the single case reported is a false-positive. Please revert this patch asap. Attilio -- Peace can only be achieved by understanding - A. Einstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-FndBY%2ByuUdvO4zP3kf2W4gDvB-uih19bqdmkFW3E4NcrHtw>