From: Dave Chinner <david@fromorbit.com>
To: Alexander Beregalov <a.beregalov@gmail.com>
Cc: lachlan@sgi.com, Christoph Hellwig <hch@infradead.org>,
Arjan van de Ven <arjan@infradead.org>,
xfs@oss.sgi.com, linux-next@vger.kernel.org,
LKML <linux-kernel@vger.kernel.org>
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 18:58:38 +1100 [thread overview]
Message-ID: <20081022075838.GK18495@disturbed> (raw)
In-Reply-To: <a4423d670810210442y51b62fc2naf6cb649e6b26942@mail.gmail.com>
On Tue, Oct 21, 2008 at 03:42:16PM +0400, Alexander Beregalov wrote:
> 2008/10/21 Dave Chinner <david@fromorbit.com>:
> > On Mon, Oct 20, 2008 at 09:13:05PM +0400, Alexander Beregalov wrote:
> >> 2008/10/20 Christoph Hellwig <hch@infradead.org>:
> >> > On Mon, Oct 20, 2008 at 06:58:09PM +0400, Alexander Beregalov wrote:
> >> >> Hi Christoph
> >> >>
> >> >> I have the same result with next-1020 and today's xfs-2.6.git/master
> >> >> (
> >> >> commit bfd2bd10da76378dc4afd87d7d204a1d3d70b347
> >> >> Author: David Chinner <david@fromorbit.com>
> >> >> Date: Fri Oct 17 15:36:23 2008 +1000
> >> >> Inode: Allow external list initialisation
> >> >> )
> >> Ha, that kernel (xfs/master) has made my system dead locked.
> >> SysRQ-d:
> >> Show all locks held in the system
> >> 1 lock held by pdflush
> >> (&type->s_umount_key#18{----}, at writeback_inodes
> >> 1 lock held by login
> >> (&(&ip->i_iolock)->mr_lock){----} at xfs_ilock
> >> and so on ( many locks at xfs_ilock)
> >
> > Curious. Can you post the full stack traces?
> I can not reproduce it, yet.
>
> Bisected to:
> dd509097cb0b76d3836385f80d6b2d6fd3b97757 is first bad commit
> commit dd509097cb0b76d3836385f80d6b2d6fd3b97757
> Author: Lachlan McIlroy <lachlan@sgi.com>
> Date: Mon Sep 29 14:56:40 2008 +1000
>
> [XFS] Unlock inode before calling xfs_idestroy()
>
> Lock debugging reported the ilock was being destroyed without being
> unlocked. We don't need to lock the inode until we are going to insert it
> into the radix tree.
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.
The question is why isn't this triggering for me during QA runs?
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2008-10-22 7:58 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-17 12:43 BUG: sleeping function called from invalid context at kernel/rwsem.c:131 XFS? (was: Re: linux-next: Tree for October 17) Alexander Beregalov
2008-10-17 16:41 ` Christoph Hellwig
2008-10-17 16:54 ` Alexander Beregalov
2008-10-17 16:57 ` Christoph Hellwig
2008-10-17 17:13 ` Alexander Beregalov
2008-10-17 20:37 ` Christoph Hellwig
2008-10-17 20:55 ` Arjan van de Ven
2008-10-17 20:55 ` Arjan van de Ven
2008-10-17 20:55 ` Arjan van de Ven
2008-10-20 14:58 ` Alexander Beregalov
2008-10-20 16:33 ` Christoph Hellwig
2008-10-20 17:13 ` Alexander Beregalov
2008-10-20 22:35 ` Dave Chinner
2008-10-21 11:42 ` Alexander Beregalov
2008-10-21 11:42 ` Alexander Beregalov
2008-10-22 7:58 ` Dave Chinner [this message]
2008-10-22 8:21 ` Alexander Beregalov
2008-10-22 8:21 ` Alexander Beregalov
2008-10-22 8:28 ` Dave Chinner
2008-10-22 8:25 ` Dave Chinner
2008-10-22 8:25 ` Dave Chinner
2008-10-22 9:12 ` Alexander Beregalov
2008-10-22 9:12 ` Alexander Beregalov
2008-10-22 10:13 ` Christoph Hellwig
2008-10-22 10:13 ` Christoph Hellwig
2008-10-22 21:10 ` Dave Chinner
2008-10-22 15:06 ` BUG: sleeping function called from invalid context at kernel/rwsem.c:131 XFS? Johannes Weiner
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=20081022075838.GK18495@disturbed \
--to=david@fromorbit.com \
--cc=a.beregalov@gmail.com \
--cc=arjan@infradead.org \
--cc=hch@infradead.org \
--cc=lachlan@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--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.