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