Re: [PATCH] VM: kswapd should not do blocking memory allocations

Trond Myklebust
2010-08-20T12:18:10Z

On Fri, 2010-08-20 at 13:45 +0800, Wu Fengguang wrote:
> > Hi Ram,
> >
> > I was seeing it on NFS until I put in the following kswapd-specific hack
> > into nfs_release_page():
> >
> > /* Only do I/O if gfp is a superset of GFP_KERNEL */
> > if (mapping && (gfp & GFP_KERNEL) == GFP_KERNEL) {
> > int how = FLUSH_SYNC;
> >
> > /* Don't let kswapd deadlock waiting for OOM RPC calls */
> > if (current_is_kswapd())
> > how = 0;
>
> So the patch can remove the above workaround together, and add comment
> that NFS exploits the gfp mask to avoid complex operations involving
> recursive memory allocation and hence deadlock?

I thought I'd send that as a separate patch, but yes, that is my
intention next.

Cheers
Trond