xfs
[Top] [All Lists]

Re: [regression] stack overflow in xfs_buf_iodone_callbacks

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [regression] stack overflow in xfs_buf_iodone_callbacks
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 26 Jun 2012 12:20:11 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20120625090657.GA22726@xxxxxxxxxxxxx>
References: <20120621091803.GB10673@dastard> <20120621163409.GA7897@xxxxxxxxxxxxx> <20120621232414.GD10673@dastard> <20120622164147.GA20617@xxxxxxxxxxxxx> <20120622233955.GY19223@dastard> <20120625090657.GA22726@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Jun 25, 2012 at 05:06:58AM -0400, Christoph Hellwig wrote:
> On Sat, Jun 23, 2012 at 09:39:55AM +1000, Dave Chinner wrote:
> > Hmmmm. How often do we get real io completion occurring before we
> > call _xfs_buf_ioend() here? I can't see that it is common, so this
> > is probably fine, but perhaps a few numbers might help here? If it
> > is rare as we think it is, then yeah, that would work....
> 
> The only case where I can see it ever hapen is when sending tons
> of separate I/Os in one go to a reall fast device, e.g. a very
> fragmented large directory to superfast battery backed dram device.
> 
> And even then I don't think it matters very much - for reads we
> generally do not have an b_iodone handler attached, so for these
> the change does not make any different.

We will very soon - CRC checks after reading for disk will be done
after reads. The patch series I'm working on at the moment
introduces sanity checks of buffers on read completion - it doesn't
do CRC checks yet, but it moves all the checks we do on read
completion into iodone callbacks, and when CRCs are introduced they
will simply be slotted into those functions....

> For delayed writes the
> additional context switch also doesn't have a major impact on
> performance, so the only thing where we could see a difference
> is synchronous writes, of which we don't have a lot left, and
> essentially none unless the shrinkers kick in and need to do
> synchronous reclaims.

*nod*

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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