I've got a system that is doing a continuous steady stream of writes to GFS2 filesystems, and what happens is that the cache builds up to vm.dirty_ratio and then load skyrockets during a synchronous flush
I've already set vm.dirty_background_ratio=1 and vm.dirty_ratio=10 and that definitely helped, but there's still a cycle of cache building up and a synchronous flush, albeit a smaller one.
What I really want is to make the background flush work harder. I've got CPU to spare, so I'd rather spread the flushing work out as evenly as possible and never have it be synchronous. Any advice on the best way to do that? The next thing I'll try is lowering vm.dirty_writeback_centisecs, but I've seen warnings about that. http://www.westnet.com/~gsmith/content/linux-pdflush.htm
This is 2.6.32 kernel.