]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot in HPT page fault handler
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 26 Aug 2019 06:20:47 +0000 (16:20 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Thu, 19 Mar 2020 05:39:52 +0000 (16:39 +1100)
commit31c1bc0d2ecc08c92acc84c5250f6c583c1ce328
treea6478bebe2aa750d63cb18df69efc92a34b5f367
parent6e7b580b92d4e51cc48af906e616928d1da50eb5
KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot in HPT page fault handler

This makes the same changes in the page fault handler for HPT guests
that commits c459464388c7 ("KVM: PPC: Book3S HV: Use __gfn_to_pfn_memslot()
in page fault handler", 2018-03-01), 0041222b554d ("KVM: PPC: Book3S HV:
Don't use compound_order to determine host mapping size", 2018-09-11)
and 55a1f8c79d17 ("KVM: PPC: Book3S HV: Avoid crash from THP collapse
during radix page fault", 2018-10-04) made for the page fault handler
for radix guests.

In summary, where we used to call get_user_pages_fast() and then do
special handling for VM_PFNMAP vmas, we now call __get_user_pages_fast()
and then __gfn_to_pfn_memslot() if that fails, followed by reading the
Linux PTE to get the host PFN, host page size and mapping attributes.

This also brings in the change from SetPageDirty() to set_page_dirty_lock()
which was done for the radix page fault handler in commit ce18a287742d
("KVM: PPC: Book3S HV: Fix handling of large pages in radix page fault
handler", 2018-02-23).

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/book3s_64_mmu_hv.c