Date: Tue, 21 Jan 2014 11:26:18 -0500 From: John Baldwin <jhb@freebsd.org> To: Alexander Kabaev <kabaev@gmail.com> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Rui Paulo <rpaulo@felyko.com>, Neel Natu <neel@freebsd.org> Subject: Re: svn commit: r260898 - head/sys/kern Message-ID: <201401211126.18930.jhb@freebsd.org> In-Reply-To: <20140120171844.69e065fb@kan.dyndns.org> References: <201401200159.s0K1xa5X012123@svn.freebsd.org> <1536225.gsjt6oXMt2@pippin.baldwin.cx> <20140120171844.69e065fb@kan.dyndns.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, January 20, 2014 5:18:44 pm Alexander Kabaev wrote: > On Mon, 20 Jan 2014 11:32:29 -0500 > 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 > > > > > > > > Log: > > > > Bump up WITNESS_COUNT from 1024 to 1536 so there are sufficient > > > > entries for > > > > WITNESS to actually work. > > > > > > This value should be automatically tuned... > > > > How do you propose to do so? This is the count of locks initialized > > before witness' own SYSINIT is executed and the array it sizes is > > allocated statically at compile time. 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 sized table instead. > > > > -- > > John Baldwin > > As <CONSTANT1> + <CONSTANT2> * MAXCPU, as evidently most recent > overflows reported were caused by jacking MAXCPU up from its default > value? If raising MAXCPU changes the number of unique lock names used, then the locks are named incorrectly. We don't use the 'pid' in the name for PROC_LOCK precisely so that WITNESS will treat them all the same so that if if it learns a lock order for pid 37 it enforces the same lock order for pid 38. Device locks should follow a similar rule. They should generally not include the device name (and in some cases they really shouldn't even have the driver name). -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201401211126.18930.jhb>