On 09/27/2010 04:18 PM, Gleb Natapov wrote:
On Mon, Sep 27, 2010 at 10:36:57AM +0200, Avi Kivity wrote: > 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. > Well, since you asked to make it generic it uses copy_to_user() now :) It tracks slot version so gfn_to_hva() translation is omitted most of the times.
Sure, that's easy to optimize later on. -- 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