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

From: H. Peter Anvin
Date: Wed Oct 06 2010 - 00:04:03 EST


On 10/05/2010 12: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>
> ---
> arch/x86/mm/fault.c | 38 ++++++++++++++++++++++++++------------
> include/linux/mm.h | 2 ++
> mm/filemap.c | 23 ++++++++++++++++++++++-
> mm/memory.c | 3 ++-
> 4 files changed, 52 insertions(+), 14 deletions(-)
>

Acked-by: H. Peter Anvin <hpa@xxxxxxxxx>

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

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