xfs
[Top] [All Lists]

Re: XFS hung on 2.6.33.3 kernel

To: Ilia Mirkin <imirkin@xxxxxxxxxxxx>
Subject: Re: XFS hung on 2.6.33.3 kernel
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 4 Aug 2010 14:27:25 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <AANLkTikfK6z7b=0Vpijyz-3m3+_MTtcrbeQk-B9LkK61@xxxxxxxxxxxxxx>
References: <AANLkTilX3l8TbUztLStj_u9OqOZnBrsNQxmeV4DuBmYJ@xxxxxxxxxxxxxx> <20100718012033.GA18888@dastard> <AANLkTikEv75KRyRTs4awmG894NSKMnBkJNJPYsypMdWf@xxxxxxxxxxxxxx> <20100718235036.GC32635@dastard> <AANLkTi=EzePfBRdEFQo2BRtKy=464Ci6zPG=UyYJiwNp@xxxxxxxxxxxxxx> <20100804004746.GT7362@dastard> <AANLkTikfK6z7b=0Vpijyz-3m3+_MTtcrbeQk-B9LkK61@xxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Tue, Aug 03, 2010 at 09:15:53PM -0400, Ilia Mirkin wrote:
> On Tue, Aug 3, 2010 at 8:47 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:
> > Ilia,
> >
> > Can you send me the output of this for your kernel that the
> > traces came from:
> >
> > $ gdb <path/to/vmlinux>
> > (gdb) l *( xfs_write+0x2cc)
> >
> > You can run it against the vmlinux file in the kernel build
> > directory.  Basically I need to know which xfs_ilock() call in
> > xfs_write() one of the mysqld-test processes is stuck on.
> 
> No problem - BTW, I'm running this on a 2.6.33.3 kernel (same as the
> one before, although diff hardware). If you want (and are fine with me
> "destroying" the current state), I can upgrade it to a kernel of your
> choice and repeat the test overnight.
> 
> Naturally I didn't have CONFIG_DEBUG_INFO in there... just changed
> that to Y and recompiled. I'm not entirely sure that this preserves
> all the offsets, but at least the BUG-HUNTING doc makes allusions that
> it would.
> 
> (gdb) l *( xfs_write+0x2cc)
> 0xffffffff8124342d is in xfs_write (fs/xfs/linux-2.6/xfs_lrw.c:597).
> 592                     if (!need_i_mutex && (mapping->nrpages || pos
> > xip->i_size)) {
> 593                             xfs_iunlock(xip, XFS_ILOCK_EXCL|iolock);
> 594                             iolock = XFS_IOLOCK_EXCL;
> 595                             need_i_mutex = 1;
> 596                             mutex_lock(&inode->i_mutex);
> 597                             xfs_ilock(xip, XFS_ILOCK_EXCL|iolock);

Make sense. Can you run 'l *(xfs_ilock+0x2c)' as well? I just need to
confirm which lock it has blocked on.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>