On 09/26/2010 10:25 PM, Joerg Roedel wrote:
> btw, speaking of drastic changes to nsvm, one thing I'd like to see is > the replacement of those kmaps with something like put_user_try() and > put_user_catch(). It should be as fast (or faster) than kmaps, and not > affect preemptibility. Yes, I want to get rid of them too. I thought about using copy_from/to_user in the vmrun/vmexit path. I need to measure if this has any performance impact, though.
copy_to_user() is slow since it is very generic. put_user() generally translates to one instruction (perhaps a range check as well). We can avoid the range check if we do it once for the entire vmcb page.
Gleb had something along those lines, it's useful for kvmclock as well.
But the vmrun/vmexit path in nested-svm will see some major changes in the near future anyway to improve performance and prepare it for clean-bits emulation. In this step I will also address the kmap problem. But first on the list for me is to make the instruction emulator aware of instruction intercepts. Security is more important then performance.
Amen. -- 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html