xfs
[Top] [All Lists]

Re: A huge latency in ext4 and xfs because of stable page write

To: linux-ext4@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, tytso@xxxxxxx, hch@xxxxxxxxxxxxx, darrick.wong@xxxxxxxxxx
Subject: Re: A huge latency in ext4 and xfs because of stable page write
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 12 Dec 2012 15:49:49 +1100
In-reply-to: <20121212041803.GA29427@xxxxxxxxx>
References: <20121211084520.GA13277@xxxxxxxxx> <20121211111707.GU15784@dastard> <20121212041803.GA29427@xxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Wed, Dec 12, 2012 at 12:18:03PM +0800, Zheng Liu wrote:
> On Tue, Dec 11, 2012 at 10:17:07PM +1100, Dave Chinner wrote:
> > On Tue, Dec 11, 2012 at 04:45:21PM +0800, Zheng Liu wrote:
> > > Hi all,
> > > 
> > > At Tao Bao we meet a problem in our product system which causes a huge 
> > > latency
> > > because of stable page write.  This problem is easy to reproduce in a 
> > > testing
> > > environment, and I can reproduce it in my desktop with a SATA disk.  Here 
> > > is the
> > > fio config file that is used to reproduce this problem.
> > > 
> > > config file
> > > -----------
> > > [global]
> > > iodepth=1
> > > directory=/mnt/sda3
> > > direct=0
> > > group_reporting
> > > thread
> > > fallocate=0
> > > runtime=120
> > > 
> > > [log-append]
> > > ioengine=sync
> > > rw=write
> > > bs=1k
> > 
> > Sub-page sized IO. That's guaranteed to have noticable IO latency
> > anomalies, regardless of stable data pages. If you are just
> > doing appending writes, then you can easily buffer them till you
> > have a page of data to write and avoid the problem altogether.
> 
> Hi Dave,
> 
> Thanks for your reply.  I agree with you that the application still
> could be improved.  But, unfortunately, the real life is that we cannot
> change the application.  We couldn't convince the application developers
> that they need to change their program to adapt to the latest kernel
> because the latest kernel has a new feature that is not useful for them.
> That is unacceptable for them. :-(

Too bad for them, then. The kernel can't give everyone a pony....

> > > Hence, I wonder whether or not we could revert stable page write 
> > > temporarily.
> > > After it is improved, we could add it back again.
> > 
> > The plan is to turn it off for filesystems/devices that don't
> > require it. That list of devices will grow in future, so you
> > probably should plan to handle latencies in the application
> > properly...
> 
> I wonder whether we can provide a sysctl to turn on/off stable page
> write.  At least we need to give sysadmin an opportunity to control it.

That's already been considered and discarded because turning off
stable pages on devices that require it will cause validation or
data corruption problems. The discussion was for these patches (and
I think a followup series as well):

http://www.spinics.net/lists/linux-fsdevel/msg59421.html

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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