mm: avoid unnecessary page fault retires on shared memory types
[linux-2.6-microblaze.git] / arch / ia64 / mm / fault.c
index 07379d1..ef78c2d 100644 (file)
@@ -139,6 +139,10 @@ retry:
        if (fault_signal_pending(fault, regs))
                return;
 
+       /* The fault is fully completed (including releasing mmap lock) */
+       if (fault & VM_FAULT_COMPLETED)
+               return;
+
        if (unlikely(fault & VM_FAULT_ERROR)) {
                /*
                 * We ran out of memory, or some other thing happened