On Fri, 3 Aug 2001, Linus Torvalds wrote:
> That implies that we are trying to flush way too few buffers at a time and
> do not get any overlapping IO.
It started out at full throughput, but eventually became jerky and
chaotic. After I sent the message I noticed it was at 0% idle with
kswapd, kreclaimd, kflushd and kupdated all eating cycles in addition to
> Btw, how did you test this? Do you have a patch for inode_fsync() already?
Nah, didn't do that patch yet. The test was the same old dd </dev/zero
of=/tmp/foo bs=1024k with vmstat running and executing commands on another
shell (gotta automate that). Note that the other approach of leaving the
throttling in and limited to 2MB queues resulted in fairly consistent
60MB/s throughput with no chaotic breakdown.
Using the number of queued sectors in the io queues is, imo, the right way
to throttle io. The high/low water marks give us decent batching as well
as the delays that we need for throttling writers. If we remove that,
we'll need another way to wait for io to complete. Waiting on pages
simply does not work as the page chosen may not be in the "right place" in
the queue. So, what's the plan?
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue Aug 07 2001 - 21:00:31 EST