Re: elevator algorithm bug in ll_rw_blk.c

Helge Hafting (helge.hafting@daldata.no)
Tue, 17 Nov 1998 09:39:03 +0100


> this sucker runs on quad xeons and ultrasparcs and gazillion buses and fj massivly
> parallel sparcs and nasa clusters and finding out the geometry of a disk is
>
> "beyond our knowledge"
Go ahead and try to determine the exact drive geometry from
timing tests. Try to deal with the buffering and caching
and remapping that happen onboard the disk.
Write a program that perform the task. Bugfix it until it
actually arrives at the same result everytime you run it. (Don't
be surprised when timing varies wildly from one run to the next due
to buffering/caching effects. Find a way to see the difference between
a seek delay and a thermal calibration delay. Deal with drives that
cahce the beginning of itself more agressively because that's where
dos keeps its often-referenced FAT table...)

>
> what is the slowest part of linux
> i would be most surprised if it wasn't disk accesses - just physically getting the
> blocks on and off the disk
>
> anything which speeded that out by a pico second is going to pay dividends all
> around. on this list people talk about shaving a nano seconds off secheduling and
> what have you. getting the data on to and off the disk is measured in milliseconds.

Waiting more for the disk doesn't slow linux, for linux scedule
other processes when one is waiting. Spending too much time
optimizing requests would speed up an io-bound machine but slow
down a compute-bound one. Add enough RAM and your machine
becomes compute bound as most disk activity hits the cache.

Keeping a huge disk geometry table in memory will give us less memory
to play with. That will result in a few more cache misses and
kill your performance gains. Getting data off the disk is one
of the slowest operations - so having to get more of it is a major
problem. Getting the same amount in a slightly better order
is a smaller improvement. The transfer time is the same.

Helge Hafting

-
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/