Re: [PATCH] VM: Fix the gfp_mask in invalidate_complete_page2

From: David Howells
Date: Tue Oct 10 2006 - 05:43:58 EST


Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> wrote:

> - if (PagePrivate(page) && !try_to_release_page(page, 0))
> + if (PagePrivate(page) && !try_to_release_page(page, GFP_KERNEL))

This can't be the right way to fix things. try_to_release_page() may fail
whatever GFP flags you give it. If the page *must* be invalidated at this
point then you _must_ call the invalidatepage() op, not the releasepage() op.

What is currently there allows an instikill to take place on a page at this
point, but defers the kill on pages that are busy until all the pages have
been scanned once, thus giving I/O time to happen on busy pages whilst reaping
pages that can be made immediately available.

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