From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Alexander Beregalov" Subject: Re: BUG: sleeping function called from invalid context at kernel/rwsem.c:131 XFS? (was: Re: linux-next: Tree for October 17) Date: Wed, 22 Oct 2008 12:21:23 +0400 Message-ID: References: <20081017203710.GA27187@infradead.org> <20081017135510.7127c4e7@infradead.org> <20081020163327.GA15651@infradead.org> <20081020223549.GA21152@disturbed> <20081022075838.GK18495@disturbed> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: Received: from an-out-0708.google.com ([209.85.132.243]:36575 "EHLO an-out-0708.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752108AbYJVIVY (ORCPT ); Wed, 22 Oct 2008 04:21:24 -0400 Received: by an-out-0708.google.com with SMTP id d40so162547and.103 for ; Wed, 22 Oct 2008 01:21:23 -0700 (PDT) In-Reply-To: <20081022075838.GK18495@disturbed> Content-Disposition: inline Sender: linux-next-owner@vger.kernel.org List-ID: To: Dave Chinner , lachlan@sgi.com, Christoph Hellwig , Arjan van de Ven , xfs@oss.sgi.com, linux-next@vger.kernel.org > 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?