Re: [PATCH] writeback: remove the internal 5% low bound on dirty_ratio

From: Con Kolivas
Date: Mon Aug 23 2010 - 02:31:31 EST


On Mon, 23 Aug 2010 04:23:59 pm Wu Fengguang wrote:
> On Mon, Aug 23, 2010 at 12:42:48PM +0800, Neil Brown wrote:
> > On Fri, 20 Aug 2010 15:50:54 +1000
> >
> > Con Kolivas <kernel@xxxxxxxxxxx> wrote:
> > > On Fri, 20 Aug 2010 02:13:25 pm KOSAKI Motohiro wrote:
> > > > > The dirty_ratio was silently limited to >= 5%. This is not a user
> > > > > expected behavior. Let's rip it.
> > > > >
> > > > > It's not likely the user space will depend on the old behavior.
> > > > > So the risk of breaking user space is very low.
> > > > >
> > > > > CC: Jan Kara <jack@xxxxxxx>
> > > > > CC: Neil Brown <neilb@xxxxxxx>
> > > > > Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>
> > > >
> > > > Thank you.
> > > > Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
> > >
> > > I have tried to do this in the past, and setting this value to 0 on
> > > some machines caused the machine to come to a complete standstill with
> > > small writes to disk. It seemed there was some kind of "minimum" amount
> > > of data required by the VM before anything would make it to the disk
> > > and I never quite found out where that blockade occurred. This was some
> > > time ago (3 years ago) so I'm not sure if the problem has since been
> > > fixed in the VM since then. I suggest you do some testing with this
> > > value set to zero before approving this change.
>
> You are right, vm.dirty_ratio=0 will block applications for ever..

Indeed. And while you shouldn't set the lower limit to zero to avoid this
problem, it doesn't answer _why_ this happens. What is this "minimum write"
that blocks everything, will 1% be enough, and is it hiding another real bug
somewhere in the VM?

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