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). 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.