On Thu, Mar 08, 2012 at 04:12:21PM -0500, Ted Ts'o wrote:
On Thu, Mar 08, 2012 at 03:42:52PM -0500, Jeff Moyer wrote:
quoted
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.
... and it gets worse if there is any kind of I/O prioritization going
on via ionice(), or (as was the case in our example) I/O cgroups were
being used to provide proportional I/O rate controls. I don't think
it's realistic to assume the writeback code can predict how long I/O
will take when it does a submission.
cgroups do make it much harder because it could be a simple IO priority
inversion. The latencies are just going to be a fact of life for now
and the best choice is to skip the stable pages.
-chris