From: Dave Chinner <david@fromorbit.com>
To: Lachlan McIlroy <lachlan@sgi.com>,
Christoph Hellwig <hch@infradead.org>, xfs-oss <xfs@oss.sgi.com>
Subject: Re: deadlock with latest xfs
Date: Fri, 24 Oct 2008 17:48:04 +1100 [thread overview]
Message-ID: <20081024064804.GQ25906@disturbed> (raw)
In-Reply-To: <20081024052418.GO25906@disturbed>
On Fri, Oct 24, 2008 at 04:24:18PM +1100, Dave Chinner wrote:
> On Fri, Oct 24, 2008 at 01:08:55PM +1000, Lachlan McIlroy wrote:
> > Christoph Hellwig wrote:
> >> On Thu, Oct 23, 2008 at 07:17:30PM +1000, Lachlan McIlroy wrote:
> >>> another problem with latest xfs
> >>
> >> Is this with the 2.6.27-based ptools/cvs tree or with the 2.6.28 based
> >> git tree? It does looks more like a VM issue than a XFS issue to me.
> >>
> >
> > It's with the 2.6.27-rc8 based ptools tree. Prior to checking
> > in these patches:
> >
> > Can't lock inodes in radix tree preload region
> > stop using xfs_itobp in xfs_bulkstat
> > free partially initialized inodes using destroy_inode
> >
> > I was able to stress a system for about 4 hours before it ran out
> > of memory. Now I hit the deadlock within a few minutes. I need
> > to roll back to find which patch changed the behaviour.
>
> Does it go away when you add the "XFS: Fix race when looking up
> reclaimable inodes" I sent this morning?
>
> Also, is there a thread stuck in xfs_setfilesize() waiting on an
> ilock during I/O completion?
>
> i.e. did the log hang because I/O completion is stuck waiting on
> an ilock that is held by a thread waiting on I/O completion?
OK, I just hung a single-threaded rm -rf after this completed:
# fsstress -p 1024 -n 100 -d /mnt/xfs2/fsstress
It has hung with this trace:
# echo w > /proc/sysrq-trigger
[42954211.590000] SysRq : Show Blocked State
[42954211.590000] task PC stack pid father
[42954211.590000] rm D 00000000407219f0 0 2504 1155
[42954211.590000] 604692d8 6002e40a 808ad040 79484000 79487850 60014f0d 808ad040 6032b3e0
[42954211.590000] 79484000 6c8a2808 60468e00 808ad040 794878a0 60324b21 79484000 00000250
[42954211.590000] 79484000 79484000 7fffffffffffffff 79045e88 80014d28 80014df8 79487900 60324e6d <6>Call Trace:
[42954211.590000] 794877f8: [<6002e40a>] update_curr+0x3a/0x50
[42954211.590000] 79487818: [<60014f0d>] _switch_to+0x6d/0xe0
[42954211.590000] 79487858: [<60324b21>] schedule+0x171/0x2c0
[42954211.590000] 794878a8: [<60324e6d>] schedule_timeout+0xad/0xf0
[42954211.590000] 794878c8: [<60326e98>] _spin_unlock_irqrestore+0x18/0x20
[42954211.590000] 79487908: [<60195455>] xlog_grant_log_space+0x245/0x470
[42954211.590000] 79487920: [<60030ba0>] default_wake_function+0x0/0x10
[42954211.590000] 79487978: [<601957a2>] xfs_log_reserve+0x122/0x140
[42954211.590000] 794879c8: [<601a36e7>] xfs_trans_reserve+0x147/0x2e0
[42954211.590000] 794879f8: [<60087374>] kmem_cache_alloc+0x84/0x100
[42954211.590000] 79487a38: [<601ab01f>] xfs_inactive_symlink_rmt+0x9f/0x450
[42954211.590000] 79487a88: [<601ada94>] kmem_zone_zalloc+0x34/0x50
[42954211.590000] 79487aa8: [<601a3a6d>] _xfs_trans_alloc+0x2d/0x70
[42954211.590000] 79487ac8: [<601a3b52>] xfs_trans_alloc+0xa2/0xb0
[42954211.590000] 79487ad8: [<60326ea9>] _spin_unlock+0x9/0x10
[42954211.590000] 79487ae8: [<601a85ef>] xfs_inode_is_filestream+0x5f/0x80
[42954211.590000] 79487b28: [<601ab597>] xfs_inactive+0x1c7/0x530
[42954211.590000] 79487b78: [<601b94ec>] xfs_fs_clear_inode+0x3c/0x70
[42954211.590000] 79487b98: [<6009e881>] clear_inode+0x91/0x150
[42954211.590000] 79487bb8: [<6009f05f>] generic_delete_inode+0xff/0x130
[42954211.590000] 79487bd8: [<6009f20d>] generic_drop_inode+0x17d/0x1a0
[42954211.590000] 79487bf8: [<6009e317>] iput+0x57/0x90
[42954211.590000] 79487c18: [<60095be3>] do_unlinkat+0x113/0x1c0
[42954211.590000] 79487c98: [<60098e90>] sys_getdents+0x110/0x150
[42954211.590000] 79487cd8: [<60095ded>] sys_unlinkat+0x1d/0x40
[42954211.590000] 79487ce8: [<60018150>] handle_syscall+0x50/0x80
[42954211.590000] 79487d08: [<6002b05e>] userspace+0x48e/0x550
[42954211.590000] 79487f58: [<600269a7>] save_registers+0x17/0x40
[42954211.590000] 79487fc8: [<60014df2>] fork_handler+0x62/0x70
[42954211.590000]
Which implies that the log tail is not moving forward. I'm about to jump
on a plane, so I won't be able to look at this until tomorrow....
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2008-10-24 6:48 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-23 9:17 deadlock with latest xfs Lachlan McIlroy
2008-10-23 20:57 ` Christoph Hellwig
2008-10-23 22:28 ` Dave Chinner
2008-10-24 3:08 ` Lachlan McIlroy
2008-10-24 5:24 ` Dave Chinner
2008-10-24 6:48 ` Dave Chinner [this message]
2008-10-26 0:53 ` Dave Chinner
2008-10-26 2:50 ` Dave Chinner
2008-10-26 4:20 ` Dave Chinner
2008-10-27 1:42 ` Lachlan McIlroy
2008-10-27 5:30 ` Dave Chinner
2008-10-27 6:29 ` Lachlan McIlroy
2008-10-27 6:54 ` Dave Chinner
2008-10-27 7:31 ` Lachlan McIlroy
[not found] ` <200810281702.17135.nickpiggin@yahoo.com.au>
2008-10-28 6:25 ` Dave Chinner
2008-10-24 8:46 ` Lachlan McIlroy
2008-10-26 22:39 ` Dave Chinner
2008-10-27 2:30 ` Timothy Shimmin
2008-10-27 5:47 ` Dave Chinner
2008-10-27 7:33 ` Lachlan McIlroy
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=20081024064804.GQ25906@disturbed \
--to=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=lachlan@sgi.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox