mm: remove redundant check about FAULT_FLAG_ALLOW_RETRY bit
authorQi Zheng <zhengqi.arch@bytedance.com>
Fri, 14 Jan 2022 22:05:51 +0000 (14:05 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 15 Jan 2022 14:30:27 +0000 (16:30 +0200)
Since commit 4064b9827063 ("mm: allow VM_FAULT_RETRY for multiple
times") allowed VM_FAULT_RETRY for multiple times, the
FAULT_FLAG_ALLOW_RETRY bit of fault_flag will not be changed in the page
fault path, so the following check is no longer needed:

flags & FAULT_FLAG_ALLOW_RETRY

So just remove it.

[akpm@linux-foundation.org: coding style fixes]

Link: https://lkml.kernel.org/r/20211110123358.36511-1-zhengqi.arch@bytedance.com
Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Kirill Shutemov <kirill@shutemov.name>
Cc: Peter Xu <peterx@redhat.com>
Cc: Muchun Song <songmuchun@bytedance.com>
Cc: Chengming Zhou <zhouchengming@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
22 files changed:
arch/alpha/mm/fault.c
arch/arc/mm/fault.c
arch/arm/mm/fault.c
arch/arm64/mm/fault.c
arch/hexagon/mm/vm_fault.c
arch/ia64/mm/fault.c
arch/m68k/mm/fault.c
arch/microblaze/mm/fault.c
arch/mips/mm/fault.c
arch/nds32/mm/fault.c
arch/nios2/mm/fault.c
arch/openrisc/mm/fault.c
arch/parisc/mm/fault.c
arch/powerpc/mm/fault.c
arch/riscv/mm/fault.c
arch/s390/mm/fault.c
arch/sh/mm/fault.c
arch/sparc/mm/fault_32.c
arch/sparc/mm/fault_64.c
arch/um/kernel/trap.c
arch/x86/mm/fault.c
arch/xtensa/mm/fault.c

index eee5102..6c0a277 100644 (file)
@@ -165,17 +165,15 @@ retry:
                BUG();
        }
 
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               if (fault & VM_FAULT_RETRY) {
-                       flags |= FAULT_FLAG_TRIED;
+       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.
-                        */
+               /* 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;
-               }
+               goto retry;
        }
 
        mmap_read_unlock(mm);
index 5787c26..dad27e4 100644 (file)
@@ -149,8 +149,7 @@ retry:
        /*
         * Fault retry nuances, mmap_lock already relinquished by core mm
         */
-       if (unlikely((fault & VM_FAULT_RETRY) &&
-                    (flags & FAULT_FLAG_ALLOW_RETRY))) {
+       if (unlikely(fault & VM_FAULT_RETRY)) {
                flags |= FAULT_FLAG_TRIED;
                goto retry;
        }
index bc8779d..c7326a5 100644 (file)
@@ -312,7 +312,7 @@ retry:
                return 0;
        }
 
-       if (!(fault & VM_FAULT_ERROR) && flags & FAULT_FLAG_ALLOW_RETRY) {
+       if (!(fault & VM_FAULT_ERROR)) {
                if (fault & VM_FAULT_RETRY) {
                        flags |= FAULT_FLAG_TRIED;
                        goto retry;
index 9ae24e3..a8fb54f 100644 (file)
@@ -606,10 +606,8 @@ retry:
        }
 
        if (fault & VM_FAULT_RETRY) {
-               if (mm_flags & FAULT_FLAG_ALLOW_RETRY) {
-                       mm_flags |= FAULT_FLAG_TRIED;
-                       goto retry;
-               }
+               mm_flags |= FAULT_FLAG_TRIED;
+               goto retry;
        }
        mmap_read_unlock(mm);
 
index ef32c5a..4fac4b9 100644 (file)
@@ -98,11 +98,9 @@ good_area:
 
        /* The most common case -- we are done. */
        if (likely(!(fault & VM_FAULT_ERROR))) {
-               if (flags & FAULT_FLAG_ALLOW_RETRY) {
-                       if (fault & VM_FAULT_RETRY) {
-                               flags |= FAULT_FLAG_TRIED;
-                               goto retry;
-                       }
+               if (fault & VM_FAULT_RETRY) {
+                       flags |= FAULT_FLAG_TRIED;
+                       goto retry;
                }
 
                mmap_read_unlock(mm);
index 02de2e7..32417f4 100644 (file)
@@ -156,17 +156,15 @@ retry:
                BUG();
        }
 
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               if (fault & VM_FAULT_RETRY) {
-                       flags |= FAULT_FLAG_TRIED;
+       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.
-                        */
+               /* 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;
-               }
+               goto retry;
        }
 
        mmap_read_unlock(mm);
index ef46e77..53cfb9b 100644 (file)
@@ -153,18 +153,16 @@ 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 (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;
        }
 
        mmap_read_unlock(mm);
index b3fed2c..a9626e6 100644 (file)
@@ -232,18 +232,16 @@ 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 (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;
        }
 
        mmap_read_unlock(mm);
index e7abda9..44f9810 100644 (file)
@@ -171,18 +171,17 @@ good_area:
                        goto do_sigbus;
                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.
-                        */
+       if (fault & VM_FAULT_RETRY) {
+               flags |= FAULT_FLAG_TRIED;
 
-                       goto retry;
-               }
+               /*
+                * 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);
index 1d139b1..636977a 100644 (file)
@@ -230,16 +230,14 @@ good_area:
                        goto bad_area;
        }
 
-       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 (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;
        }
 
        mmap_read_unlock(mm);
index 9476fee..a32f14c 100644 (file)
@@ -149,18 +149,16 @@ good_area:
                BUG();
        }
 
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               if (fault & VM_FAULT_RETRY) {
-                       flags |= FAULT_FLAG_TRIED;
+       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.
-                        */
+               /*
+                * 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;
-               }
+               goto retry;
        }
 
        mmap_read_unlock(mm);
index f0fa639..80bb66a 100644 (file)
@@ -177,18 +177,16 @@ good_area:
                BUG();
        }
 
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               /*RGD modeled on Cris */
-               if (fault & VM_FAULT_RETRY) {
-                       flags |= FAULT_FLAG_TRIED;
+       /*RGD modeled on Cris */
+       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.
-                        */
+               /* 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;
-               }
+               goto retry;
        }
 
        mmap_read_unlock(mm);
index 4a6221b..360b627 100644 (file)
@@ -324,16 +324,14 @@ good_area:
                        goto bad_area;
                BUG();
        }
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               if (fault & VM_FAULT_RETRY) {
-                       /*
-                        * No need to mmap_read_unlock(mm) as we would
-                        * have already released it in __lock_page_or_retry
-                        * in mm/filemap.c.
-                        */
-                       flags |= FAULT_FLAG_TRIED;
-                       goto retry;
-               }
+       if (fault & VM_FAULT_RETRY) {
+               /*
+                * No need to mmap_read_unlock(mm) as we would
+                * have already released it in __lock_page_or_retry
+                * in mm/filemap.c.
+                */
+               flags |= FAULT_FLAG_TRIED;
+               goto retry;
        }
        mmap_read_unlock(mm);
        return;
index a8d0ce8..ebcc61e 100644 (file)
@@ -516,10 +516,8 @@ retry:
         * case.
         */
        if (unlikely(fault & VM_FAULT_RETRY)) {
-               if (flags & FAULT_FLAG_ALLOW_RETRY) {
-                       flags |= FAULT_FLAG_TRIED;
-                       goto retry;
-               }
+               flags |= FAULT_FLAG_TRIED;
+               goto retry;
        }
 
        mmap_read_unlock(current->mm);
index aa08dd2..cae4b63 100644 (file)
@@ -330,7 +330,7 @@ good_area:
        if (fault_signal_pending(fault, regs))
                return;
 
-       if (unlikely((fault & VM_FAULT_RETRY) && (flags & FAULT_FLAG_ALLOW_RETRY))) {
+       if (unlikely(fault & VM_FAULT_RETRY)) {
                flags |= FAULT_FLAG_TRIED;
 
                /*
index d30f598..d7d6be2 100644 (file)
@@ -452,21 +452,21 @@ retry:
        if (unlikely(fault & VM_FAULT_ERROR))
                goto out_up;
 
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               if (fault & VM_FAULT_RETRY) {
-                       if (IS_ENABLED(CONFIG_PGSTE) && gmap &&
-                           (flags & FAULT_FLAG_RETRY_NOWAIT)) {
-                               /* FAULT_FLAG_RETRY_NOWAIT has been set,
-                                * mmap_lock has not been released */
-                               current->thread.gmap_pfault = 1;
-                               fault = VM_FAULT_PFAULT;
-                               goto out_up;
-                       }
-                       flags &= ~FAULT_FLAG_RETRY_NOWAIT;
-                       flags |= FAULT_FLAG_TRIED;
-                       mmap_read_lock(mm);
-                       goto retry;
+       if (fault & VM_FAULT_RETRY) {
+               if (IS_ENABLED(CONFIG_PGSTE) && gmap &&
+                       (flags & FAULT_FLAG_RETRY_NOWAIT)) {
+                       /*
+                        * FAULT_FLAG_RETRY_NOWAIT has been set, mmap_lock has
+                        * not been released
+                        */
+                       current->thread.gmap_pfault = 1;
+                       fault = VM_FAULT_PFAULT;
+                       goto out_up;
                }
+               flags &= ~FAULT_FLAG_RETRY_NOWAIT;
+               flags |= FAULT_FLAG_TRIED;
+               mmap_read_lock(mm);
+               goto retry;
        }
        if (IS_ENABLED(CONFIG_PGSTE) && gmap) {
                address =  __gmap_link(gmap, current->thread.gmap_addr,
index 1e1aa75..e175667 100644 (file)
@@ -485,17 +485,15 @@ good_area:
                if (mm_fault_error(regs, error_code, address, fault))
                        return;
 
-       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 (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;
        }
 
        mmap_read_unlock(mm);
index 90dc4ae..ad569d9 100644 (file)
@@ -200,17 +200,15 @@ good_area:
                BUG();
        }
 
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               if (fault & VM_FAULT_RETRY) {
-                       flags |= FAULT_FLAG_TRIED;
+       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.
-                        */
+               /* 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;
-               }
+               goto retry;
        }
 
        mmap_read_unlock(mm);
index 9a9652a..253e070 100644 (file)
@@ -437,17 +437,15 @@ good_area:
                BUG();
        }
 
-       if (flags & FAULT_FLAG_ALLOW_RETRY) {
-               if (fault & VM_FAULT_RETRY) {
-                       flags |= FAULT_FLAG_TRIED;
+       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.
-                        */
+               /* 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;
-               }
+               goto retry;
        }
        mmap_read_unlock(mm);
 
index c32efb0..1935034 100644 (file)
@@ -87,12 +87,10 @@ good_area:
                        }
                        BUG();
                }
-               if (flags & FAULT_FLAG_ALLOW_RETRY) {
-                       if (fault & VM_FAULT_RETRY) {
-                               flags |= FAULT_FLAG_TRIED;
+               if (fault & VM_FAULT_RETRY) {
+                       flags |= FAULT_FLAG_TRIED;
 
-                               goto retry;
-                       }
+                       goto retry;
                }
 
                pmd = pmd_off(mm, address);
index 4bfed53..d0074c6 100644 (file)
@@ -1413,8 +1413,7 @@ good_area:
         * and if there is a fatal signal pending there is no guarantee
         * that we made any progress. Handle this case first.
         */
-       if (unlikely((fault & VM_FAULT_RETRY) &&
-                    (flags & FAULT_FLAG_ALLOW_RETRY))) {
+       if (unlikely(fault & VM_FAULT_RETRY)) {
                flags |= FAULT_FLAG_TRIED;
                goto retry;
        }
index fd6a706..06d0973 100644 (file)
@@ -127,17 +127,16 @@ good_area:
                        goto do_sigbus;
                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.
-                        */
+       if (fault & VM_FAULT_RETRY) {
+               flags |= FAULT_FLAG_TRIED;
 
-                       goto retry;
-               }
+               /* 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);