Re: Linux-2.2.0 bad VM behaviour "dd if=/dev/zero of=/dev/hdc bs=256k"

Linus Torvalds (torvalds@transmeta.com)
Wed, 27 Jan 1999 11:17:57 -0800 (PST)


On Wed, 27 Jan 1999, Andrea Arcangeli wrote:
> only:
>
> 1. get the buffer uptodate
> 2. write to the buffer the new data in the right place
> 3. mark the buffer dirty and uptodate
> 4. release the buffer
>
> but we don't start I/O at all, so in a msec we'll be in a state with
> 128mbyte full of dirty and so not freeable buffers.

This is one of my peeves - we should really start the IO once we've filled
up "X nr" of full buffers. But I've always been too lazy to do it.

I don't think doing it in the write routine like your patch does it is the
right way of doing it, though: it should probably be done by
mark_buffer_dirty().

In fact we _do_ have support for it there already (in "refile_buffer()" to
be exact, and we have this "too_many dirty blocks - wake up bdflush"
thing, but it should be more aggressive I think.

Linus

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