Re: stochastic fair queueing in the elevator [Re: [BENCHMARK] 2.4.20-ck3 / aa / rmap with contest]

Andrew Morton
2003-02-10T04:23:54Z

David Lang <david.lang@digitalinsight.com> wrote:
>
> note that issuing a fsync should change all pending writes to 'syncronous'
> as should writes to any partition mounted with the sync option, or writes
> to a directory with the S flag set.

We know, at I/O submission time, whether a write is to be waited upon.
That's in writeback_control.sync_mode.

That, combined with an assumption that "all reads are synchronous" would
allow the outgoing BIOs to be appropriately tagged.

It's still approximate. An exact solution would involve only marking I/O as
synchronous when some process actually waits on its completion. I do not
believe that all the extra lookup and locking infrastructure and storage
which this would require is justified. Certainly not in a first iteration.

The Rice Uni researchers did implement controls which attempted to learn IO
submission patterns on a per-process basis, and I believe these were also
used to avoid undesirable starvations. We have only briefly played with
process-aware logic.

The first thing to do is to get the anticipatory scheduler working properly.
Nick has been tied down for a week chasing generic bugs in the request layer.
He seems to have nailed the important ones now.