Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait

Ben LaHaise
2001-02-06T17:39:54Z

Hey folks,

On Tue, 6 Feb 2001, Stephen C. Tweedie wrote:

> The whole point of the post was that it is merging, not splitting,
> which is troublesome. How are you going to merge requests without
> having chains of scatter-gather entities each with their own
> completion callbacks?

Let me just emphasize what Stephen is pointing out: if requests are
properly merged at higher layers, then merging is neither required nor
desired. Traditionally, ext2 has not done merging because the underlying
system doesn't support it. This leads to rather convoluted code for
readahead which doesn't result in appropriately merged requests on
indirect block boundries, and in fact leads to suboptimal performance.
The only case I see where merging of requests can improve things is when
dealing with lots of small files. But we already know that small files
need to be treated differently (fe tail merging). Besides, most of the
benefit of merging can be had by doing readaround for these small files.

As for io completion, can't we just issue seperate requests for the
critical data and the readahead? That way for SCSI disks, the important
io should be finished while the readahead can continue. Thoughts?

-ben