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

From: John Hubbard
Date: Thu Feb 03 2022 - 16:27:23 EST


On 2/3/22 06:01, Christoph Hellwig wrote:
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.

OK, I'll do that.


thanks,
--
John Hubbard
NVIDIA