The current defaults for bdflush make it start async flushing when 20% of
buffers are dirty and sync flush when 40% of buffers are dirty. I think
these defaults are way off but apparently it is intentional. (sync flushing
should be a last ditch effort when free memory is getting low and 40%
on our 2G RAM test machine is not low!).
Regardless of my opinions there remains the problem that I cannot set sane
values for these options since one is hardcoded as 2 times the other. We
should have another bdflush sysctl variable so it can be tuned (eg in
my case 90%/95%).