Re: [PATCH 4/5] writeback: per task dirty rate limit

Wu Fengguang
2011-08-11T00:55:45Z

On Thu, Aug 11, 2011 at 02:18:54AM +0800, Vivek Goyal wrote:
> On Wed, Aug 10, 2011 at 11:29:54AM +0800, Wu Fengguang wrote:
>
> [..]
> > > > - ratelimit = ratelimit_pages;
> > > > - if (mapping->backing_dev_info->dirty_exceeded)
> > > > + ratelimit = current->nr_dirtied_pause;
> > > > + if (bdi->dirty_exceeded)
> > > > ratelimit = 8;
> > >
> > > Should we make sure that ratelimit is more than 8? It could be that
> > > ratelimit is 1 and we set it higher (just reverse of what we wanted?)
> >
> > Good catch! I actually just fixed it in that direction :)
> >
> > if (bdi->dirty_exceeded)
> > - ratelimit = 8;
> > + ratelimit = min(ratelimit, 32 >> (PAGE_SHIFT - 10));
>
> With page size 64K, will above lead to retelimit 0? Is that what you want.
> I wouldn't think so.

Yeah, it looks a bit weird.. however ratelimit=0 would behave the
same with ratelimit=1 because balance_dirty_pages_ratelimited_nr()
is always called with (nr_pages_dirtied >= 1).

Thanks,
Fengguang