Re: elevator code

From: Andrea Arcangeli (andrea@suse.de)
Date: Wed Sep 13 2000 - 09:29:18 EST


On Wed, 13 Sep 2000, Martin Dalecki wrote:

>"Jeff V. Merkey" wrote:
>
>> lessons learned in live customer accounts. In NetWare, requests are
>> merged at A) the boundry between the File Cache and the I/O subsystem,
>> and B) in the drivers themselves and NOT THE ELEVATOR.
>
>Yes that's the proper place to do this. The generic elevator on a

Jens is taking care of A) using kiobufs. We can't achieve A right now
because the I/O entity is 4k sized at max. That limitation is well known
and it cames from the old days and it's not a trivial one to address. It's
not a VM page-cache limitation but a blkdev API one. I agree it's silly to
split the big chunks in little bh and then re-merge them in one single
request later as we have to do.

>*single* queue
>makes not much sense. Once ago I have just disabled it entierly and on a

About B) I can' believe you seriously want to duplicate the merging code
in each lowlevel driver given most of them could share the same code (as
they're doing in linux).

For the special ones you can just now use your own lowlevel driver
elevator/mergingcode/queuelength by intializing the callbacks
appropriately during driver intialization (NOTE: this is a new feature in
2.4.x!)

I guess Netware doesn't have 402789 lines of blockdevice device drivers so
probably not doing code sharing properly is less an issue there. This is
just a guess, I may be wrong (in this case you should correct me, thanks).

andrea@athlon:~ > wc -l kernel/devel/2.4.0-test8/drivers/block/* kernel/devel/2.4.0-test8/drivers/ide/* kernel/devel/2.4.0-test8/drivers/i2o/* kernel/devel/2.4.0-test8/drivers/scsi/* kernel/devel/2.4.0-test8/drivers/block/paride/* kernel/devel/2.4.0-test8/drivers/scsi/aic7xxx/* kernel/devel/2.4.0-test8/drivers/scsi/pcmcia/*| tail -1
wc: kernel/devel/2.4.0-test8/drivers/block/paride: Is a directory
wc: kernel/devel/2.4.0-test8/drivers/scsi/aic7xxx: Is a directory
wc: kernel/devel/2.4.0-test8/drivers/scsi/pcmcia: Is a directory
 402789 total

Andrea

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:21 EST