]> git.neil.brown.name Git - history.git/commit
[PATCH] fix elevator_linus accounting
authorJens Axboe <axboe@suse.de>
Mon, 16 Sep 2002 01:23:22 +0000 (18:23 -0700)
committerJens Axboe <axboe@burns.home.kernel.dk>
Mon, 16 Sep 2002 01:23:22 +0000 (18:23 -0700)
commit88c4297444a93e4ff6161eb3e529b2b085657285
treec17611c04e7191fc463669b4fc682112528f0152
parent33ddb6878be3b9f478318f3ebc914695e73ae302
[PATCH] fix elevator_linus accounting

elevator_linus is seriously broken wrt accounting. Marcelo recently took
the patch to fix it in 2.4.20-pre, here's the 2.5 equiv.

Right now, we account merges as costly and seeks as not. Only thing that
prevents seek starvation is the aging scan. That is broken, very much
so. This patch fixes that to account merges and inserts differently. A
seek is ELV_LINUS_SEEK_COST more costly than a merge, currently that
define is at '16'. Doing the math on a disk, this sort of makes sense.

Defaults are read latency of 1024, which means 1024 merges or 64 seeks.
Writes are double that.
drivers/block/elevator.c
drivers/block/ll_rw_blk.c
include/linux/elevator.h