Commit 36ef159f authored by Qi Zheng's avatar Qi Zheng Committed by Linus Torvalds
Browse files

mm: remove redundant check about FAULT_FLAG_ALLOW_RETRY bit

Since commit 4064b982 ("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: default avatarQi 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 2c769ed7
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -165,7 +165,6 @@ do_page_fault(unsigned long address, unsigned long mmcsr,
		BUG();
	}

	if (flags & FAULT_FLAG_ALLOW_RETRY) {
	if (fault & VM_FAULT_RETRY) {
		flags |= FAULT_FLAG_TRIED;

@@ -176,7 +175,6 @@ do_page_fault(unsigned long address, unsigned long mmcsr,

		goto retry;
	}
	}

	mmap_read_unlock(mm);

+1 −2
Original line number Diff line number Diff line
@@ -149,8 +149,7 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
	/*
	 * 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;
	}
+1 −1
Original line number Diff line number Diff line
@@ -312,7 +312,7 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
		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;
+2 −4
Original line number Diff line number Diff line
@@ -606,11 +606,9 @@ static int __kprobes do_page_fault(unsigned long far, unsigned int esr,
	}

	if (fault & VM_FAULT_RETRY) {
		if (mm_flags & FAULT_FLAG_ALLOW_RETRY) {
		mm_flags |= FAULT_FLAG_TRIED;
		goto retry;
	}
	}
	mmap_read_unlock(mm);

	/*
+3 −5
Original line number Diff line number Diff line
@@ -98,12 +98,10 @@ void do_page_fault(unsigned long address, long cause, struct pt_regs *regs)

	/* 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;
		}
		}

		mmap_read_unlock(mm);
		return;
Loading