Messages in this thread | | | Date | Fri, 7 Aug 2009 17:30:45 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [RT] Lockdep warning on boot with 2.6.31-rc5-rt1.1 |
| |
On Fri, 7 Aug 2009, Peter Zijlstra wrote:
> On Fri, 2009-08-07 at 12:45 -0400, Alan Stern wrote: > > On Fri, 7 Aug 2009, Peter Zijlstra wrote: > > > > The other proposal was creating a fixed list of classes and register > > > each device at a class corresponding to its depth in the tree. I can't > > > remember what was wrong with that, but I seem to have been persuaded > > > that that was hard too. > > > > It probably would work for the most part. However a possible scenario > > involves first locking a parent and then locking all its children. (I > > don't know if this ever happens anywhere, but it might.) This can't > > cause a deadlock but it would run into trouble with depth-based > > classes. > > If you know which parent is locked, we can solve that with > mutex_lock_nest_lock() [ doesn't currently exist, but is analogous to > spin_lock_nest_lock() ] and together with > http://lkml.org/lkml/2009/7/23/222 that would allow you to lock up to > 2048 children.
Not only do I know not which parent is locked, I don't even know if this ever happens anywhere at all! My point was purely theoretical.
> Would something like that work?
Perhaps -- I don't understand what spin_lock_nest_lock() is supposed to do.
Alan Stern
| |