Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jan 2014 13:21:13 -0800
From:      Rui Paulo <rpaulo@felyko.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Neel Natu <neel@freebsd.org>
Subject:   Re: svn commit: r260898 - head/sys/kern
Message-ID:  <71438498-A67C-4C7D-8C8B-4A9C199AC1B1@felyko.com>
In-Reply-To: <1536225.gsjt6oXMt2@pippin.baldwin.cx>
References:  <201401200159.s0K1xa5X012123@svn.freebsd.org> <EA6A69A5-0620-4BF9-9871-268C416D2F58@felyko.com> <1536225.gsjt6oXMt2@pippin.baldwin.cx>

next in thread | previous in thread | raw e-mail | index | archive | help
On 20 Jan 2014, at 08:32, John Baldwin <jhb@freebsd.org> wrote:

> On Sunday 19 January 2014 18:18:03 Rui Paulo wrote:
>> On 19 Jan 2014, at 17:59, Neel Natu <neel@FreeBSD.org> wrote:
>>> Author: neel
>>> Date: Mon Jan 20 01:59:35 2014
>>> New Revision: 260898
>>> URL: http://svnweb.freebsd.org/changeset/base/260898
>>>=20
>>> Log:
>>> Bump up WITNESS_COUNT from 1024 to 1536 so there are sufficient =
entries
>>> for
>>> WITNESS to actually work.
>>=20
>> This value should be automatically tuned...
>=20
> How do you propose to do so?  This is the count of locks initialized =
before=20
> witness' own SYSINIT is executed and the array it sizes is allocated=20=

> statically at compile time.

Witness is never used (witness_cold) until witness_initialise() is =
called, right?

>  This used to not be a static array, but an
> intrusive list embedded in locks themselves, but we decided to shave a
> pointer off of each lock that was only used for that and to use a =
statically=20
> sized table instead.

Why don=92t we start with a static value (say 1024) and then =
reinitialise and copy array if it doesn=92t fit instead of crashing the =
kernel?

--
Rui Paulo






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?71438498-A67C-4C7D-8C8B-4A9C199AC1B1>