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
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.
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/