Re: [PATCH, RFC] Don't do page stablization if !CONFIG_BLKDEV_INTEGRITY
From: Dave Chinner <david@fromorbit.com>
Date: 2012-03-08 23:32:41
Also in:
linux-fsdevel
On Thu, Mar 08, 2012 at 12:50:42PM -0800, Boaz Harrosh wrote:
On 03/08/2012 12:37 PM, Chris Mason wrote:quoted
On Thu, Mar 08, 2012 at 12:20:26PM -0800, Boaz Harrosh wrote:quoted
On 03/08/2012 10:09 AM, Chris Mason wrote:quoted
But, why are we writeback for a second or more? Aren't there other parts of this we would want to fix as well? I'm not against only turning on stable pages when they are needed, but the code that isn't the default tends to be somewhat less used. So it does increase testing burden when we do want stable pages, and it tends to make for awkward bugs that are hard to reproduce because someone neglects to mention it. IMHO it's much more important to nail down the 2 second writeback latency. That's not good.I think I understand this one. It's do to the sync nature introduced by page_waiting in mkwrite.Pages go from dirty to writeback for a few reasons. Background writeout, or O_DIRECT or someone running sync background writeout shouldn't be queueing up so much work that synchronous writeout has a 2 second delay. If the latencies are coming from something that was run through fsync...well there's not too much we can do about that. The problem is that our page_mkwrite call isn't starting the IO it is just waiting on it, so we can't bump the priority on it.I agree. I think the logger model is: write, than sync Before they used to be waiting on the sync phase now their waiting on write, when concurrent with sync. I would like to inspect this situation. I agree with you that it's just shifting heaviness that is now hiding somewhere else.
I'd argue that the application is broken, not the kernel. IO latencies are always going to occur, so if the application is sensitive to them, then the app needs to take measures to minimise the effect of potential latencies. Double/ring buffering with async IO dispatch is the general method of avoiding significant latencies in IO aggregator applications like loggers... Cheers, Dave. -- Dave Chinner david@fromorbit.com