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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>