[PATCH] riscv/mm: Simplify retry logic in do_page_fault()

Palmer Dabbelt palmer at dabbelt.com
Fri Aug 21 15:25:41 EDT 2020


On Thu, 20 Aug 2020 21:06:34 PDT (-0700), penberg at gmail.com wrote:
> On Fri, Aug 21, 2020 at 6:32 AM Palmer Dabbelt <palmer at dabbelt.com> wrote:
>>
>> On Wed, 19 Aug 2020 07:10:11 PDT (-0700), penberg at gmail.com wrote:
>> > From: Pekka Enberg <penberg at kernel.org>
>> >
>> > Let's combine the two retry logic if statements in do_page_fault() to
>> > simplify the code.
>> > ---
>> >  arch/riscv/mm/fault.c | 20 +++++++++-----------
>> >  1 file changed, 9 insertions(+), 11 deletions(-)
>> >
>> > diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
>> > index 716d64e36f83..f5c2e4a249eb 100644
>> > --- a/arch/riscv/mm/fault.c
>> > +++ b/arch/riscv/mm/fault.c
>> > @@ -127,17 +127,15 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
>> >               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);
>>
>> This is missing your Signed-off-by, and while it's a bit pedantic I can't add
>> it myself.  Otherwise
>>
>> Reviewed-by: Palmer Dabbelt <palmerdabbelt at google.com>
>>
>> Thanks!
>
> Oh, sorry about that. Here you go:
>
> Signed-off-by: Pekka Enberg <penberg at kernel.org>
>
> I can also resend the patch with a SOB if you so prefer.

This is fine.  It's on fixes, but unless something comes up I won't send it out
until next week.

Thanks!



More information about the linux-riscv mailing list