Messages in this thread | | | Date | Mon, 6 May 2002 13:24:58 -0400 (EDT) | From | "Richard B. Johnson" <> | Subject | Re: Limiting disk data transfer rate, Any help greatly appreciated |
| |
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.
Cheers, 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |