Date: Sat, 11 May 2013 16:31:38 +0200 From: Attilio Rao <attilio@freebsd.org> To: John Baldwin <jhb@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Marcel Moolenaar <marcel@freebsd.org>, src-committers@freebsd.org, Marcel Moolenaar <marcel@xcllnt.net> Subject: Re: svn commit: r250411 - in head/sys: conf kern sys Message-ID: <CAJ-FndDLCDOiiAM3WWwTCe_tB0LJEo3ZQY7QvBt531c=XtCWfw@mail.gmail.com> In-Reply-To: <201305100952.45101.jhb@freebsd.org> References: <201305091628.r49GSI33039873@svn.freebsd.org> <CAJ-FndBY%2ByuUdvO4zP3kf2W4gDvB-uih19bqdmkFW3E4NcrHtw@mail.gmail.com> <CC06FD75-868C-40B3-9C10-D66B56327803@xcllnt.net> <201305100952.45101.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, May 10, 2013 at 3:52 PM, John Baldwin <jhb@freebsd.org> wrote: > On Thursday, May 09, 2013 4:56:33 pm Marcel Moolenaar wrote: >> >> On May 9, 2013, at 9:46 AM, Attilio Rao <attilio@freebsd.org> wrote: >> >> > 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. >> >> I disagree. We have known LOR messages between VNODE locks that >> pollute the console and so far we haven't fixed the root cause >> in some form or shape. Silencing this known case is good to >> maximize the attention LORs need to be given while still have >> witness involved to catch locking problems with vnodes that are >> of a different nature. >> >> > >> > 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. >> >> This is worse. You want witness involved. > > Well, I disagree with both of you a bit. I mostly agree with Attilio in > that the committed change is a really large sledgehammer. If we want to > ignore all LORs for a large number of locks in the system we might as well > remove WITNESS altogether. However, I think LK_NOWITNESS is also too large > of a sledgehammer for this as well. AFAIK there are two vnode-related LORs > that I can think of: At this point I think that my e-mail is completely ambiguous because what I'm proposing is the same way we shut down specific LOR with mutexes using mtx_lock_flags(). I don't really understand what are you objecting about. 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-FndDLCDOiiAM3WWwTCe_tB0LJEo3ZQY7QvBt531c=XtCWfw>