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