Re: [PATCH 0/3] VM throttling: avoid blocking occasional writers

From: Bill Davidsen
Date: Thu Mar 22 2007 - 07:38:23 EST


Tomoki Sekiyama wrote:
Hi,

Thanks for your comments.
I'm sorry for my late reply.

Bill Davidsen wrote:
> Andrew Morton wrote:

>> - I wonder if dirty_limit_ratio is the best name we could choose.
>> vm_dirty_blocking_ratio, perhaps? Dunno.
>>
> I don't like it, but I dislike it less than "dirty_limit_ratio" I guess.
> It would probably break things to change it now, including my
> sysctl.conf on a number of systems :-(

I'm wondering which interface is preferred...

1) Just rename "dirty_limit_ratio" to "dirty_blocking_ratio."
Those who had been changing dirty_ratio should additionally modify
dirty_blocking_ratio in order to determine the upper limit of dirty pages.

2) Change "dirty_ratio" to a vector, consists of 2 values;
{blocking ratio, writeback starting ratio}.
For example, to change the both values:
# echo 40 35 > /proc/sys/vm/dirty_ratio
And to change only the first one:
# echo 20 > /proc/sys/vm/dirty_ratio
In the latter way the writeback starting ratio is regarded as the same as the
blocking ratio if the writeback starting ratio is smaller. And then, the kernel behaves
similarly as the current kernel.

3) Use "dirty_ratio" as the blocking ratio. And add
"start_writeback_ratio", and start writeback at
start_writeback_ratio(default:90) * dirty_ratio / 100 [%].
In this way, specifying blocking ratio can be done in the same way as
current kernel, but high/low watermark algorithm is enabled.
I like 3 better, it should make tuning behavior more precise. You can make an argument for absolute values for writeback, if my disk will only write 70MB/s I may only want 203 sec of pending writes, regardless of available memory.

--
bill davidsen <davidsen@xxxxxxx>
CTO TMR Associates, Inc
Doing interesting things with small computers since 1979

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/