Re: [PATCH 00/13] IO-less dirty throttling

From: Wu Fengguang
Date: Wed Nov 17 2010 - 22:19:21 EST


On Thu, Nov 18, 2010 at 10:50:39AM +0800, Wu Fengguang wrote:
> On Thu, Nov 18, 2010 at 09:59:00AM +0800, Andrew Morton wrote:
> > On Thu, 18 Nov 2010 12:40:51 +1100 Dave Chinner <david@xxxxxxxxxxxxx> wrote:
> >
> > >
> > > There's no point
> > > waking a dirtier if all they can do is write a single page before
> > > they are throttled again - IO is most efficient when done in larger
> > > batches...
> >
> > That assumes the process was about to do another write. That's
> > reasonable on average, but a bit sad for interactive/rtprio tasks. At
> > some stage those scheduler things should be brought into the equation.
>
> The interactive/rtprio tasks are given 1/4 bonus in
> global_dirty_limits(). So when there are lots of heavy dirtiers,
> the interactive/rtprio tasks will get soft throttled at
> (6~8)*bdi_bandwidth. We can increase that to (12~16)*bdi_bandwidth
> or whatever.

Even better :) It seems that this break in balance_dirty_pages() will
make them throttle free, unless they themselves generate dirty data
faster than the disk can write:

if (nr_dirty <= (background_thresh + dirty_thresh) / 2)
break;

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/