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