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

Ben LaHaise
2001-02-06T18:57:22Z

On Tue, 6 Feb 2001, Ingo Molnar wrote:

> If you are merging based on (device, offset) values, then that's lowlevel
> - and this is what we have been doing for years.
>
> If you are merging based on (inode, offset), then it has flaws like not
> being able to merge through a loopback or stacked filesystem.

I disagree. Loopback filesystems typically have their data contiguously
on disk and won't split up incoming requests any further.

Here are the points I'm trying to address:

- reduce the overhead in submitting block ios, especially for
large ios. Look at the %CPU usages differences between 512 byte
blocks and 4KB blocks, this can be better.
- make asynchronous io possible in the block layer. This is
impossible with the current ll_rw_block scheme and io request
plugging.
- provide a generic mechanism for reordering io requests for
devices which will benefit from this. Make it a library for
drivers to call into. IDE for example will probably make use of
it, but some high end devices do this on the controller. This
is the important point: Make it OPTIONAL.

You mentioned non-spindle base io devices in your last message. Take
something like a big RAM disk. Now compare kiobuf base io to buffer head
based io. Tell me which one is going to perform better.

-ben