xfs
[Top] [All Lists]

Re: 3.14-rc2 XFS backtrace because irqs_disabled.

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: 3.14-rc2 XFS backtrace because irqs_disabled.
From: Dave Jones <davej@xxxxxxxxxx>
Date: Wed, 12 Feb 2014 09:25:38 -0500
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxxx>, Linux Kernel <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20140212061038.GC13997@dastard>
Mail-followup-to: Dave Jones <davej@xxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, Al Viro <viro@xxxxxxxxxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Eric Sandeen <sandeen@xxxxxxxxxxx>, Linux Kernel <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
References: <20140211210841.GM13647@dastard> <52FA9ADA.9040803@xxxxxxxxxxx> <20140212004403.GA17129@xxxxxxxxxx> <20140212010941.GM18016@xxxxxxxxxxxxxxxxxx> <CA+55aFwoWT-0A_KTkXMkNqOy8hc=YmouTMBgWUD_z+8qYPphjA@xxxxxxxxxxxxxx> <20140212040358.GA25327@xxxxxxxxxx> <20140212042215.GN18016@xxxxxxxxxxxxxxxxxx> <20140212054043.GB13997@dastard> <20140212055027.GA28502@xxxxxxxxxx> <20140212061038.GC13997@dastard>
User-agent: Mutt/1.5.21 (2010-09-15)
On Wed, Feb 12, 2014 at 05:10:38PM +1100, Dave Chinner wrote:
 > On Wed, Feb 12, 2014 at 12:50:27AM -0500, Dave Jones wrote:
 > > On Wed, Feb 12, 2014 at 04:40:43PM +1100, Dave Chinner wrote:
 > > 
 > >  > None of the XFS code disables interrupts in that path, not does is
 > >  > call outside XFS except to dispatch IO. The stack is pretty deep at
 > >  > this point and I know that the standard (non stacked) IO stack can
 > >  > consume >3kb of stack space when it gets down to having to do memory
 > >  > reclaim during GFP_NOIO allocation at the lowest level of SCSI
 > >  > drivers. Stack overruns typically show up with symptoms like we are
 > >  > seeing.
 > >  > ..
 > >  > 
 > >  > Dave, before chasing ghosts, can you (like Eric originally asked)
 > >  > turn on stack overrun detection?
 > > 
 > > CONFIG_DEBUG_STACKOVERFLOW ? Already turned on.
 > 
 > That only checks stack usage when an interrupt is taken. If no
 > interrupts are taken when stack usage is within 128 bytes of
 > overflow, then it doesn't catch it.
 > 
 > I tend to use CONFIG_DEBUG_STACK_USAGE=y as it records the maximum
 > stack usage of a process via canary overwrites and it records it in
 > do_exit().

I had that on too. The only message from it came from quite a while
before the trace that happened overnight..

[ 3415.655125] trinity-c0 (4383) used greatest stack depth: 992 bytes left
[12900.804230] BUG: sleeping function called from invalid context at 
mm/mempool.c:203

 > I also use the stack tracer to record the largest stack
 > usage seen so I know exactly what code paths are approaching stack
 > overruns...

I can give that a try later.

        Dave

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