Re: vm kills processes in our 2.3.12 port of reiserfs - what was

Andrea Arcangeli (andrea@suse.de)
Tue, 31 Aug 1999 10:16:17 +0200 (CEST)


On Mon, 30 Aug 1999, Linus Torvalds wrote:

>I think it should be done by the caller: there are cases where you need to
>mark something dirty and you do NOT want to sleep.

Which are these cases?

Of course I can see the performance optimization of calling
balance_dirty() at once after many mark_dirty_buffers() but IMHO it would
be better to stay on the safe side. Also think how many filesystem could
be missing such call and generate too much pressure on the VM in
_patological_ cases not reproduced by us.

Why not to add a new buffer API ( mark_dirty() ) that will call
__mark_dirty for the cases that doesn't want to call mark_dirty? If ext2
is safe (and I have not yet checkd about the directories writes), simply
s/mark_buffer_dirty/mark_dirty/ in fs/ext2/*.c and in block_dev.c.

This time we can be backwards compatible with the old API without any
problem (everybody can optimize or fix the code by using mark_dirty() and
balance_dirty() by hand), so why don't we do that?

Andrea

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