Re: [PATCH 02/35] writeback: safety margin for bdi stat error

From: Wu Fengguang
Date: Thu Jan 13 2011 - 05:42:04 EST


On Thu, Jan 13, 2011 at 06:38:34PM +0800, Jan Kara wrote:
> 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?

Yes, exactly.

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/