On Monday, January 20, 2014 5:18:44 pm Alexander Kabaev wrote:
> On Mon, 20 Jan 2014 11:32:29 -0500
> John Baldwin <j...@freebsd.org> wrote:
> 
> > On Sunday 19 January 2014 18:18:03 Rui Paulo wrote:
> > > On 19 Jan 2014, at 17:59, Neel Natu <n...@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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to