Re: Limiting disk data transfer rate, Any help greatly appreciated

From: Richard B. Johnson (
Date: Mon May 06 2002 - 12:24:58 EST

On Mon, 6 May 2002, Vijay Kumar wrote:

> Hi All,
> In my project we have a RAID connected to more than one machine via fibre
> channel switch. The RAID bandwidth is shared among machines, some of them
> reading data at a high rate (for video streaming) and at lease one machine
> writing data into it. Since the raid bandwidth is limited, we would like to
> specify how the bandwidth is distributed among machines. This can not be
> done either in the FC switch or in the RAID, so my only option right now is
> have to specify the available bandwidth and limit the rate at which linux
> reads data from the RAID.
> I am wondering if there is a way in the linux to specify the maximum
> bandwidth that could used with a disk. In other words I am looking for a
> driver level implementation that does the throttling when the maximum
> bandwidth limit is hit while reading/writing data to/from a disk.
> Any help or pointers to possible solutions is greatly appreciated. I am not
> on the list, so please CC me with your responses and suggestions.
> Thank you all
> - Vijay

I think you can modify an existing driver, perhaps add an ioctl(), that
specifies the jiffy-count that the driver must sleep before doing each
I/O. Unfortunately, the granularity is rather large. One HZ might be
way to slow, and 0 HZ may be too fast. You can certainly experiment.

With some easy-to-write code, you can relate the sleep-interval to
the I/O length so you actually limit bandwidth.

If the system "almost" works, then you can modify HZ to get finer
granularity, perhaps 1024 would be a good value.

Dick Johnson

Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).

                 Windows-2000/Professional isn't.

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 : Tue May 07 2002 - 22:00:27 EST