Re: [PATCH 03/10] writeback: stop background writeback when belowbackground threshold

From: Wu Fengguang
Date: Thu Sep 24 2009 - 20:47:23 EST


On Fri, Sep 25, 2009 at 12:26:00AM +0800, Peter Zijlstra wrote:
> On Thu, 2009-09-24 at 18:13 +0200, Jens Axboe wrote:
>
> > > > > for (;;) {
> > > > > /*
> > > > > + * Stop writeback when nr_pages has been consumed
> > > > > */
> > > > > + if (args->nr_pages <= 0)
> > > > > break;
> > > > >
> > > > > /*
> > > > > + * For background writeout, stop when we are below the
> > > > > + * background dirty threshold
> > > > > */
> > > > > + if (args->for_background && !over_bground_thresh())
> > > > > break;
> > > >
> > > >
> > > > What I'm not getting is why this is conditional on for_background(),
> > > > shouldn't we always stop writeback when below the background threshold?
> > >
> > > Ah, that would be for things like sync, which need to write out
> > > everything, right?

Besides sync, it's reasonable for periodic writeback to write all
inodes as long as they are expired.

> > Yes, wb_writeback() handles any kind of writeback. The definition of our
> > background writeout is to stop when we are no longer over the background
> > writeout threshold.
>
> Right, ok
>
> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>

Thanks! This patch was partly inspired by your comments :)

Regards,
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/