On Thu, Jul 29, 2010 at 04:45:23PM +0800, Christoph Hellwig wrote: > Btw, I'm very happy with all this writeback related progress we've made > for the 2.6.36 cycle. The only major thing that's really missing, and > which should help dramatically with the I/O patters is stopping direct > writeback from balance_dirty_pages(). I've seen patches frrom Wu and > and Jan for this and lots of discussion. If we get either variant in > this should be once of the best VM release from the filesystem point of > view. Sorry for the delay. But I'm not feeling good about the current patches, both mine and Jan's. Accounting overheads/accuracy are the obvious problem. Both patches do not perform well on large NUMA machines and fast storage. They are found hard to improve in previous discussions. We might do dirty throttling based on throughput, ignoring the writeback completions totally. The basic idea is, for current process, we already have a per-bdi-and-task threshold B as the local throttle target. When dirty pages go beyond B*80% for example, we start throttling the task's writeback throughput. The more closer to B, the lower throughput. When reaches B or global threshold, we completely stop it. The hope is, the throughput will be sustained at some balance point. This will need careful calculation to perform stable/robust. In this way, the throttle can be made very smooth. My old experiments show that the current writeback completion based throttling fluctuates a lot for the stall time. In particular it makes bumpy writeback for NFS, so that some times the network pipe is not active at all and performance is impacted noticeably. By the way, we'll harvest a writeback IO controller :) Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html