Messages in this thread | | | Date | Tue, 31 Aug 1999 18:53:44 +0200 (CEST) | From | Andrea Arcangeli <> | Subject | Re: vm kills processes in our 2.3.12 port of reiserfs - what was the story on the changes to mark_buffer_dirty() and the too many dirty buffers issue? |
| |
On Tue, 31 Aug 1999, Linus Torvalds wrote:
>And as the normal filesystems are all using the common buffer routines >anyway, it's only the special cases tat are hurt by having to explicitly
I checked ext2 and it seems possible to generate lots of dirty buffers by creating lots of empty file in a directory (only calling creat(2) with different strings lots of times). It seems to me that the application that is creating all such dir-entries will never block and so the VM will collapse if there will be too much dirty buffers. Also if somebody else is writing some data, he will find himself _always_ blocked and the process that is creating dir-entries will run without sleep at maximal priority (and this is very unfair in a multiuser system).
To solve this problem we can put the balance_dirty() in some strategical place of fs/ext2/namei.c (not only in ext2_add_entry, since also rmdir will need to mark the buffer dirty for example) but IMO that's too much dirty. I like things that works by magic and safely ;).
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/
| |