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/
This archive was generated by hypermail 2b29 : Tue May 07 2002 - 22:00:27 EST