Re: [PATCH 2/3] Retry page fault when blocking on disk transfer.

From: Rik van Riel
Date: Tue Oct 05 2010 - 13:39:20 EST


On 10/05/2010 03:53 AM, Michel Lespinasse wrote:
This change reduces mmap_sem hold times that are caused by waiting for
disk transfers when accessing file mapped VMAs. It introduces the
VM_FAULT_ALLOW_RETRY flag, which indicates that the call site wants
mmap_sem to be released if blocking on a pending disk transfer.
In that case, filemap_fault() returns the VM_FAULT_RETRY status bit
and do_page_fault() will then re-acquire mmap_sem and retry the page fault.
It is expected that the retry will hit the same page which will now be
cached, and thus it will complete with a low mmap_sem hold time.

Signed-off-by: Michel Lespinasse<walken@xxxxxxxxxx>

Acked-by: Rik van Riel <riel@xxxxxxxxxx>

Looks like it should be relatively easy to do something
similar in do_swap_page also.
--
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/