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

Andrea Arcangeli
2003-02-10T07:25:30Z

On Mon, Feb 10, 2003 at 05:51:07AM +0100, Jakob Oestergaard wrote:
> On Sun, Feb 09, 2003 at 08:33:43PM -0800, Andrew Morton wrote:
> > 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.
>
> This may be a terribly stupid question, if so pls. just tell me :)
>
> I assume read-ahead requests go elsewhere? Or do we assume that someone
> is waiting for them as well?

readahead is meant for merging. So in short normally there is no
additional request generated by readhaead. Inter-process merging must
not be forbidden by SFQ.

We also have to choose if to forbid or not outer-process merging. In
theory SFQ would tell us to avoid it, and to only merge in the context
of the same pid, in the common case it should just take care of most
merging, things like dbench aren't going to run well with SFQ no matter
if we do global merging or only per-process merging. Optimizing for
throughput is not the object here.

Andrea