From: David Chinner <dgc@sgi.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: David Chinner <dgc@sgi.com>, Eric Sandeen <sandeen@sandeen.net>,
linux-kernel Mailing List <linux-kernel@vger.kernel.org>,
xfs-oss <xfs@oss.sgi.com>, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH] Increase lockdep MAX_LOCK_DEPTH
Date: Sat, 1 Sep 2007 01:19:04 +1000 [thread overview]
Message-ID: <20070831151904.GC734179@sgi.com> (raw)
In-Reply-To: <1188572961.6112.72.camel@twins>
On Fri, Aug 31, 2007 at 05:09:21PM +0200, Peter Zijlstra wrote:
> On Sat, 2007-09-01 at 01:05 +1000, David Chinner wrote:
>
> > > Trouble is, we'd like to have a sane upper bound on the amount of held
> > > locks at any one time, obviously this is just wanting, because a lot of
> > > lock chains also depend on the number of online cpus...
> >
> > Sure - this is an obvious case where it is valid to take >30 locks at
> > once in a single thread. In fact, worst case here we are taking twice this
> > number of locks - we actually take 2 per inode (ilock and flock) so a
> > full 32 inode cluster free would take >60 locks in the middle of this
> > function and we should be busting this depth couter limit all the
> > time.
>
> I think this started because jeffpc couldn't boot without XFS busting
> lockdep :-)
Ok....
> > Do semaphores (the flush locks) contribute to the lock depth
> > counters?
>
> No, alas, we cannot handle semaphores in lockdep. Semaphores don't have
> a strict owner, hence we cannot track them. This is one of the reasons
> to rid ourselves of semaphores - that and there are very few cases where
> the actual semantics of semaphores are needed. Most of the times code
> using semaphores can be expressed with either a mutex or a completion.
Yeah, and the flush lock is something we can't really use either of those
for as we require both the multi-process lock/unlock behaviour and the
mutual exclusion that a semaphore provides.
So I guess that means it's only the ilock nesting that is of issue here,
so that means right now a max lock depth of 40 would probably be ok....
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
next prev parent reply other threads:[~2007-08-31 15:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-31 4:43 [PATCH] Increase lockdep MAX_LOCK_DEPTH Eric Sandeen
2007-08-31 6:39 ` Peter Zijlstra
2007-08-31 13:50 ` David Chinner
2007-08-31 14:33 ` Eric Sandeen
2007-08-31 14:36 ` Peter Zijlstra
2007-08-31 14:33 ` Peter Zijlstra
2007-08-31 15:05 ` David Chinner
2007-08-31 15:09 ` Peter Zijlstra
2007-08-31 15:11 ` Eric Sandeen
2007-08-31 15:19 ` David Chinner [this message]
2007-08-31 16:33 ` Josef Sipek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070831151904.GC734179@sgi.com \
--to=dgc@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=sandeen@sandeen.net \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.