Avi Kivity wrote:
> Dan wrote:
>   
>> Greetings Honorable KVM Devs!
>>
>> I am doing research on the performance characteristics of the Intel
>> VMX instructions, specifically with respect to KVM. I need to count
>> the cycles for a VMENTER and VMEXIT instruction under various
>> conditions. (But getting it to work at all would be cool :)
>>
>> So the idea is to drop the cycle count in a register from the VMM,
>> force a VMENTER, drop the count in a different register, and force a
>> VMEXIT. Then get a last count and do appropriate adding/subtracting.
>> I'm working with a 2.6.22.6 <http://2.6.22.6> vanilla kernel on an
>> Core2Duo with KVM-54.
>>
>> Questions:
>>  Is there a better way to get these numbers?
>>  If not, where in the KVM source should I aim to put these
>> instructions (file/line number/general area)?
>>  Any tips on forcing a vmexit out of the guest immediately after the
>> count?
>>
>> Thank you so much for your time.
>>   :dan
>>     
>
>
> Have a look at user/test/x86/vmexit.c, which does exactly that.
>
>   

That only gives you the combined count of a vmenter and vmexit.  If you 
want to measure the individual counts of a vmenter and a vmexit, the 
easiest thing to do is make sure the tsc_offset is always zero, and has 
the host and guest cooperate.  The host stashes away the tsc before 
entering the guest, the guest immediately would take the tsc and stash 
it in a register and then immediately enter generate an exit.  The host 
would then immediately take the tsc and stash it away.  You now have 
three readings and can use them to identify the cost of vmenter and vmexit.

Regards,

Anthony Liguori



-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to