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>