Re: [patch 1/3] fix illogical behavior in balance_dirty_pages()

From: Miklos Szeredi
Date: Sun Mar 25 2007 - 07:36:07 EST


> >
> > Please have a look at this:
> > http://lkml.org/lkml/2007/3/19/220
>
>
>
> > + if (bdi_nr_reclaimable + bdi_stat(bdi, BDI_WRITEBACK) <=
> > + bdi_thresh)
> > + break;
> >
>
> Yes, this will resolve the deadlock as well, where balance_dirty_pages()
> is currently looping forever with:

Almost.

This

> - if (nr_reclaimable) {
> + if (bdi_nr_reclaimable) {
> writeback_inodes(&wbc);

still makes it loop forever if bdi_nr_reclaimable == 0, since the exit
condition is not checked.

Shouldn't it break out of the loop if bdi_stat(bdi, BDI_WRITEBACK) <=
bdi_thresh in this case?

Thanks,
Miklos
-
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/