riscv/mm: Simplify retry logic in do_page_fault()
authorPekka Enberg <penberg@kernel.org>
Wed, 19 Aug 2020 14:10:11 +0000 (17:10 +0300)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Wed, 16 Sep 2020 01:45:49 +0000 (18:45 -0700)
Let's combine the two retry logic if statements in do_page_fault() to
simplify the code.

Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
arch/riscv/mm/fault.c

index 716d64e36f832698bd5f753e97d5a750c1b6439e..f5c2e4a249eb0438eb3703f9a082daa820333074 100644 (file)
@@ -127,17 +127,15 @@ good_area:
                BUG();
        }
 
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               if (fault & VM_FAULT_RETRY) {
-                       flags |= FAULT_FLAG_TRIED;
-
-                       /*
-                        * No need to mmap_read_unlock(mm) as we would
-                        * have already released it in __lock_page_or_retry
-                        * in mm/filemap.c.
-                        */
-                       goto retry;
-               }
+       if (unlikely((fault & VM_FAULT_RETRY) && (flags & FAULT_FLAG_ALLOW_RETRY))) {
+               flags |= FAULT_FLAG_TRIED;
+
+               /*
+                * No need to mmap_read_unlock(mm) as we would
+                * have already released it in __lock_page_or_retry
+                * in mm/filemap.c.
+                */
+               goto retry;
        }
 
        mmap_read_unlock(mm);