On Wed, Oct 21, 2020 at 06:47:32PM +0000, Edgecombe, Rick P wrote: > On Tue, 2020-10-20 at 09:18 +0300, Kirill A. Shutemov wrote: > > include/linux/mm.h | 8 ++++++++ > > mm/gup.c | 20 ++++++++++++++++---- > > mm/huge_memory.c | 20 ++++++++++++++++---- > > mm/memory.c | 3 +++ > > mm/mmap.c | 3 +++ > > virt/kvm/async_pf.c | 2 +- > > virt/kvm/kvm_main.c | 9 +++++---- > > 7 files changed, 52 insertions(+), 13 deletions(-) > > There is another get_user_pages() in > paging_tmpl.h:FNAME(cmpxchg_gpte). Right, I will look into it. I wounder why I don't step onto it. > Also, did you leave off FOLL_KVM in gfn_to_page_many_atomic() on > purpose? It looks like its only used for pte prefetch which I guess is > not required. FOLL_FAST_ONLY is going to fail anyway. The caller has to handle it gracefully. -- Kirill A. Shutemov