public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	Dan <berkovid-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: performance specs on VT-x vmenter/exit
Date: Thu, 06 Dec 2007 12:49:15 -0600	[thread overview]
Message-ID: <4758442B.8060401@codemonkey.ws> (raw)
In-Reply-To: <47584142.10600-atKUWr5tajBWk0Htik3J/w@public.gmane.org>

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

  parent reply	other threads:[~2007-12-06 18:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-06 18:09 performance specs on VT-x vmenter/exit Dan
     [not found] ` <fe801d6f0712061009r7b6c64b5qa1ad17722036301b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-12-06 18:36   ` Avi Kivity
     [not found]     ` <47584142.10600-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-12-06 18:49       ` Anthony Liguori [this message]
     [not found]         ` <4758442B.8060401-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-12-06 19:06           ` Avi Kivity
     [not found]             ` <47584832.9010708-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-12-06 19:56               ` Anthony Liguori
     [not found]                 ` <475853E0.7080005-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-12-06 21:17                   ` Dan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4758442B.8060401@codemonkey.ws \
    --to=anthony-rdkfgonbjusknkdkm+me6a@public.gmane.org \
    --cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=berkovid-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox