From: Pekka Enberg Date: Wed, 19 Aug 2020 14:10:11 +0000 (+0300) Subject: riscv/mm: Simplify retry logic in do_page_fault() X-Git-Tag: v5.10-rc1~78^2~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4363287178a85e41cd59f9f1d423fbe1f9048ec8;p=thirdparty%2Flinux.git riscv/mm: Simplify retry logic in do_page_fault() Let's combine the two retry logic if statements in do_page_fault() to simplify the code. Signed-off-by: Pekka Enberg Signed-off-by: Palmer Dabbelt --- diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c index 716d64e36f832..f5c2e4a249eb0 100644 --- a/arch/riscv/mm/fault.c +++ b/arch/riscv/mm/fault.c @@ -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);