Re: 2.6.6-rc{1,2} bad VM/NFS interaction in case of dirty pagewriteback

From: Andrew Morton
Date: Tue Apr 27 2004 - 20:39:18 EST


Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote:
>
> On Tue, 2004-04-27 at 21:02, Andrew Morton wrote:
> > Shantanu Goel <sgoel01@xxxxxxxxx> wrote:
> > >
> > > Andrew/Trond,
> > >
> > > Any consensus as to what the right approach is here?
> >
> > For now I suggest you do
> >
> > - err = WRITEPAGE_ACTIVATE;
> > + err = 0;
> >
> > in nfs_writepage().
>
> That will just cause the page to be put back onto the inactive list
> without starting writeback. Won't that cause precisely those kswapd
> loops that Shantanu was worried about?

Possibly - but the process which is in reclaim will throttle and will kick
pdflush which will do the writepages() thing.

It needs testing.

> AFAICS if you want to do this, you probably need to flush the page
> immediately to disk on the server using a STABLE write as per the
> appeanded patch. The problem is that screws the server over pretty hard
> as it will get flooded with what are in effect a load of 4k O_SYNC
> writes.

Well I'd be interested in discovering which workloads actually suffer
significantly from doing this. If it's a significant problem then perhaps
we should resurrect the writearound-from-within-writepage thing. It's
pretty simple to do, especially since we now have efficient ways of finding
neighbouring dirty pages.

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