Messages in this thread | | | From | Nick Piggin <> | Subject | Re: [2.6.27-rc5] inotify_read's ev_mutex vs do_page_fault's mmap_sem... | Date | Thu, 11 Sep 2008 06:11:48 +1000 |
| |
On Wednesday 10 September 2008 19:59, Peter Zijlstra wrote: > On Wed, 2008-09-10 at 19:50 +1000, Nick Piggin wrote: > > On Wednesday 10 September 2008 18:37, Ingo Molnar wrote: > > > * Nick Piggin <nickpiggin@yahoo.com.au> wrote: > > > > On Wednesday 10 September 2008 17:57, Peter Zijlstra wrote: > > > > > Sure, how about the below - untested - uncompiled, might eat > > > > > kittens, etc.. > > > > > > > > > > Just sprinkle something like: > > > > > > > > > > might_lock_read(&mm->mmap_sem); > > > > > > > > > > in the right places. > > > > > > > > Ahh, very nice, thanks! I'll give that a try... > > > > > > cool! Please send in an RFC patch once you have something that boots - > > > we can stick it into tip/core/locking and see whether there's any new > > > messages on a wide range of systems and workloads. (and we'd also check > > > whether the number of kittens is an invariant.) > > > > Well I have verified it boots, and have used the annotation in some of > > x86-64's user copy routines (luckily no flood of bugs I was scared of, > > phew!) > > > > So I would like to request you merge Peter's patch, and we'll hopefully > > start seeing the annotations being used. > > Will you send your x86_64 patch to be the first?
OK.
> > FWIW, I don't suppose lockdep > > can determine that it is a sleeping lock, and do the appropriate > > might_sleep checks at this point as well? > > Humm, no - we don't actually have that information there - I guess one > could add it to lockdep_map and set it from the various init routines, > but I'm not sure its worth it - just add might_sleep() along with > might_lock() :-)
I guess so... seems like lockdep should know about "locks", however :) Spinlock isn't always a spinlock, and ordinary kernel code usually should not care about that.
But I'll add it in this case.
| |