On Thu 13-01-11 12:14:40, Wu Fengguang wrote: > On Thu, Jan 13, 2011 at 05:59:49AM +0800, Jan Kara wrote: > > > So the root cause is, the bdi_dirty is well under the global nr_dirty > > > due to accounting errors. This can be fixed by using bdi_stat_sum(), > > So which statistic had the big error? I'd just like to understand > > this (and how come your patch improves the situation)... > > bdi_stat_error() = nr_cpu_ids * BDI_STAT_BATCH > = 8 * (8*(1+ilog2(8))) > = 8 * 8 * 4 > = 256 pages > = 1MB Yes, my question was more aiming at on which statistics the error happens so that it causes problems for you. Thinking about it now I suppose you observe that bdi_nr_writeback + bdi_nr_reclaimable < bdi_thresh but in fact the number of pages is higher than bdi_thresh because of accounting errors. And thus we are able to reach global dirty limit and the tasks get throttled heavily. Am I right? Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>