Re: dynamic swap prioritizing

From: Andreas Dilger (
Date: Tue Oct 09 2001 - 22:35:26 EST

On Oct 10, 2001 00:01 +0200, Xuan Baldauf wrote:
> I have a linux box with 3 harddisks of different
> characteristics (size, seek time, throughput), each capable
> of holding a swap partition. Sometimes, one harddisk is
> driven heavily (e.g. database application), sometimes, the
> other harddisk is busy.

Daniel Phillips was working on something which may be useful in
this regard. Basically, he was trying to determine how "busy" a
disk was, so that if there are dirty pages to be written on an
"idle" disk they would be written immediately. The theory is
that if you wait longer, the disk may be busy with other I/O and
you have "wasted" the resource of disk bandwidth doing nothing.

Similarly, if you knew how busy each disk with a swap partition
was, you could swap to the most idle disk (assuming equal speed)
or at least take this into account if the speeds are different.

If this is to be generally useful, it would be good to find things
like max sequential read speed, max sequential write speed, and max
seek time (at least). Estimates for max sequential read speed and
seek time could be found at boot time for each disk relatively
easily, but write speed may have to be found only at runtime (or
it could all be fed in to the kernel from user space from benchmarks
run previously).

Once we had data like that, it would be relatively easy to keep
track of the queue depth for each device to determine "business"
and estimated time to an empty queue and make intelligent disk
I/O scheduling decisions (e.g. which MD RAID 1 disk to read from,
which disk to swap to, guaranteed I/O rate for XFS, etc).

Cheers, Andreas

Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"               -- Dogbert

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Oct 15 2001 - 21:00:29 EST