Re: nfs unhappiness with memory pressure

From: Andrew Morton
Date: Mon Dec 05 2005 - 22:36:24 EST


Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote:
>
> Argh... Not sure entirely how to deal with that... We definitely don't
> want the thing futzing around inside throttle_vm_writeout(), 'cos
> writeout isn't going to happen while the socket blocks.
>

As far as the core VM is concerned, these pages are really "dirty", only it
happens to be a different flavour of dirtiness. So perhaps we should
continue to mark these pages as dirty and let NFS internally take care
of which end of the wire they're dirty at.

Presumably calling writepage() a second time won't be very useful. Or will
it? Perhaps when NFS sees writepage against a PageDirty && PageUnstable
page it can recognise that as a hint to kick off a server-side write.

> ...OTOH, I'm not entirely sure we want to use GFP_ATOMIC and risk
> bleeding the emergency pools dry: we also need those in order to receive
> replies from the server.

You can use (GFP_ATOMIC & !__GFP_HIGH) to avoid draining emergency pools.

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