On 10/17/2010 03:25 PM, Nadav Har'El wrote:
On Sun, Oct 17, 2010, Avi Kivity wrote about "Re: [PATCH 10/27] nVMX: Implement
VMCLEAR":
> >+ vmcs12 = kmap(page);
>
> kmap_atomic() please (better, kvm_write_guest(), but can defer that for
> later)
Sorry about my ignorance, but why is kmap_atomic() better here than kmap()?
While handling an exit (caused by a guest running VMCLEAR instruction), we
aren't in atomic context, aren't we?
kmap() is unloved since it is deadlock-prone in some circumstances, and
also much slower than kmap_atomic(), since it needs global tlb
synchronization.
If I use kmap_atomic() here I'll need to kunmap_atomic() below which will
break the newly combined kunmap& nested_release_page function ;-)
> >+ vmcs12->launch_state = 0;
> >+ kunmap(page);
> >+ nested_release_page(page);
Is something preventing you from changing all kmap()s to kmap_atomic()s
(like guest memory access in the mapped section)?
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html