KVM: MMU: Avoid calling gfn_to_page() in mmu_set_spte()
authorAvi Kivity <avi@qumranet.com>
Sun, 30 Dec 2007 10:29:05 +0000 (12:29 +0200)
committerAvi Kivity <avi@qumranet.com>
Wed, 30 Jan 2008 16:01:21 +0000 (18:01 +0200)
commitd7824fff896a1698a07a8046dc362f4500c302f7
tree249e23ec224bc621bea1ef24fa83f5a749d6b35b
parent7ec54588210df29ea637e6054489bc942c0ef371
KVM: MMU: Avoid calling gfn_to_page() in mmu_set_spte()

Since gfn_to_page() is a sleeping function, and we want to make the core mmu
spinlocked, we need to pass the page from the walker context (which can sleep)
to the shadow context (which cannot).

[marcelo: avoid recursive locking of mmap_sem]

Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/x86/kvm/mmu.c
arch/x86/kvm/paging_tmpl.h
include/asm-x86/kvm_host.h