Re: [PATCH v3 4/4] mm/gup: remove get_user_pages_locked()

From: Christoph Hellwig
Date: Thu Feb 03 2022 - 09:01:56 EST


On Thu, Feb 03, 2022 at 01:32:32AM -0800, John Hubbard wrote:
> There is only one caller of get_user_pages_locked(). The purpose of
> get_user_pages_locked() is to allow for unlocking the mmap_lock when
> reading a page from the disk during a page fault (hidden behind
> VM_FAULT_RETRY). The idea is to reduce contention on the heavily-used
> mmap_lock. (Thanks to Jan Kara for clearly pointing that out, and in
> fact I've used some of his wording here.)
>
> However, it is unlikely for lookup_node() to take a page fault. With
> that in mind, change over to calling get_user_pages_fast(). This
> simplifies the code, runs a little faster in the expected case, and
> allows removing get_user_pages_locked() entirely.

Maybe split the lookup_node changes into a separate patch, as that
allows to document that change even better.