Messages in this thread | | | Date | Wed, 22 Oct 2008 19:28:29 +1100 | From | Dave Chinner <> | Subject | Re: BUG: sleeping function called from invalid context at kernel/rwsem.c:131 XFS? (was: Re: linux-next: Tree for October 17) |
| |
On Wed, Oct 22, 2008 at 12:21:23PM +0400, Alexander Beregalov wrote: > > Ah, OK, I see the problem, though I don't understand why I'm not > > seeing the might_sleep() triggering all the time given that I always > > build with: > > > > $ grep SLEEP .config > > CONFIG_DEBUG_SPINLOCK_SLEEP=y > > > > Basically the above commit moved xfs_ilock() inside > > radix_tree_preload()/radix_tree_preload_end(), which means we are > > taking a rwsem() while we have an elevated preempt count. I'll > > get a patch out to fix it. > Could it cause the I/O dead lock or should I continue trying to reproduce it?
The deadlock wouldn't be produced by the same thing that produced the sleeping-in-atomic warning. The missed unlock that I also fixed in the patch I just sent could possibly have caused that, but I'm just speculating on that...
Cheers,
Dave. -- Dave Chinner david@fromorbit.com
| |