Jens Axboe wrote:
On Mon, Apr 24 2006, Al Boldi wrote:
On my system max_hw_sectors_kb is fixed at 1024, and max_sectors_kb
defaults to 512, which leads to terribly fluctuating thruput.
Setting max_sectors_kb = max_hw_sectors_kb makes things even worse.
Tuning max_sectors_kb to ~192 only stabilizes this situation.
That sounds pretty strange. Do you have a test case?
I would think that, if you could get your hands on some hw that defaults to the same values, you may easily see the same problem by doing this:
1. # vmstat 1 (or some other bio mon)
2. < change vt >
3. # cat /dev/hda > /dev/null &
4. # cat /dev/hda > /dev/null
Let this second cat run for a sec, then ^C.
Depending on your hw specifics the bio should either go up or down by a factor of 2 (on my system 25mb/s-48mb/s). You may have to repeat step 4 a few times to aggravate the situation.
Note that this is not specific to cat, but can also be observed during normal random disk access, although not in a controlled manner.