Re: PATCH 2.5.0 kill read_ahead array.

Martin Dalecki
2001-11-26T17:03:20Z

Andreas Dilger wrote:
>
> On Nov 26, 2001 12:52 +0100, Martin Dalecki wrote:
> > This is removing the "write only" read_ahead sparse array from all
> > the places where it's "used" by now.
> > This is just saving some memmory.
>
> Is this a case of the "read_ahead" array is redundant and read ahead is
> done at a different level (not using this array), or is it a case of
> read ahead not being done at all? If it is not being done at all, then
> removing the unused array is the wrong thing to do - we should fix
> read ahead, and start using the array.

No we shouldn't.

There are the following problems with the read_ahead array as it
currently
stands:

1. It isn't used at all at any level!
Even the AS390 people finally cleaned aparently theyr code up.

REALY REALY Please look at the the patch.

There is only one bogous place in hfs, where this array was used at all.
Literally all other places are just writing some values into it.
This is what I'm calling a "write only" variable.

2. It is bound to the major number, which is the wrong granularity,
since linux doesn't preserve the device type on this level and is
slicing up
the minor numbers. This is the most severe brain damage of it.

3. We have anyway a filesystem read ahead layer there.

4. We have a block device driver read ahead layer there too
(it's called blksize there...).

5. We have blk_dev_t and block_device structs, which are supposed
to replace the current static global array, since they are the
more logical place where such information should be placed. This
is unevitable if we are ever willing to provide support for real
kernel scalability in terms of numbers of attached devices...

Regard's.