Re: [RFC] [PATCH] A clean approach to writeout throttling

From: Rik van Riel
Date: Thu Dec 06 2007 - 10:53:30 EST


On Thu, 6 Dec 2007 03:55:11 -0800
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> - We a-priori decide to limit a particular stack's peak memory usage to
> 1MB
>
> - We empirically discover that the maximum amount of memory which is
> allocated by that stack on behalf of a single BIO is 16kb. (ie: that's
> the most it has ever used for a single BIO).
>
> - Now, we refuse to feed any more BIOs into the stack when its
> instantaneous memory usage exceeds (1MB - 16kb).
>
> Of course, the _average_ memory-per-BIO is much less than 16kb. So there
> are a lot of BIOs in flight - probably hundreds, but a minimum of 63.

There is only one problem I can see with this. With network block
IO, some memory will be consumed upon IO completion. We need to
make sure we reserve (number of in flight BIOs * maximum amount of
memory consumed upon IO completion) memory, in addition to the
memory you're accounting in your example above.

--
All Rights Reversed
--
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/