Chris Mason [off-list ref] writes:
On Thu, Mar 08, 2012 at 12:20:26PM -0800, Boaz Harrosh wrote:
quoted
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.
So now we're back to figuring out how to tell how long I/O will take?
If writeback is issuing random access I/Os to spinning media, you can
bet it might be a while. Today, you could lower nr_requests to some
obscenely small number to improve worst-case latency. I thought there
was some talk about improving the intelligence of writeback in this
regard, but it's a tough problem, especially given that writeback isn't
the only cook in the kitchen.
Cheers,
Jeff