Skip site navigation (1)Skip section navigation (2)
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>