Re: elevator algorithm bug in ll_rw_blk.c

Stephen C. Tweedie (sct@redhat.com)
Mon, 16 Nov 1998 22:01:20 GMT


Hi,

On Sun, 15 Nov 1998 14:13:31 -0500, Chip Salzenberg
<chip@perlsupport.com> said:

> According to Alan Cox:
>> Chip:
>> > But that's a *one-way* elevator. Ideal elevators are two-way,
>> > aren't they?
>>
>> If you go for the shortest movement alone you starve the edges of the disks.

> I said "two-way", not "shortest movement".

Two-way elevators _do_ have this problem. A block in the middle
cylinder of the disk gets serviced twice per full two-way pass, once in
each direction. Maximum wait time is half a pass; average is a
quarter. For a block at the edge of the disk, it will get serviced only
when the two-way pass approaches close to the edge of the disk, and will
not get another chance for a full pass, average wait half a pass.

It's not a total stavation issue, but it _does_ give you a significant
unfairness.

--Stephen

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