public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: habanero@linux.vnet.ibm.com
Cc: Gleb Natapov <gleb@redhat.com>, kvm@vger.kernel.org
Subject: Re: [PATCH] don't call adjust_vmx_controls() second time
Date: Sun, 30 Aug 2009 11:59:41 +0300	[thread overview]
Message-ID: <4A9A3F7D.1000009@redhat.com> (raw)
In-Reply-To: <1251405750.9683.110.camel@twinturbo.austin.ibm.com>

On 08/27/2009 11:42 PM, Andrew Theurer wrote:
> On Thu, 2009-08-27 at 19:21 +0300, Avi Kivity wrote:
>    
>> On 08/27/2009 06:41 PM, Gleb Natapov wrote:
>>      
>>> Don't call adjust_vmx_controls() two times for the same control.
>>> It restores options that was dropped earlier.
>>>
>>>        
>> Applied, thanks.  Andrew, if you rerun your benchmark atop kvm.git
>> 'next' branch, I believe you will see dramatically better results.
>>      
> Yes!  CPU is much lower:
> user  nice  system   irq softirq  guest   idle  iowait
> 5.81  0.00    9.48  0.08    1.04  21.32  57.86    4.41
>
> previous CPU:
> user  nice  system   irq  softirq guest   idle  iowait
> 5.67  0.00   11.64  0.09     1.05 31.90  46.06    3.59
>
>    

How does it compare to the other hypervisor now?

> new oprofile:
>
>    
>> samples  %        app name                 symbol name
>> 885444   53.2905  kvm-intel.ko             vmx_vcpu_run
>>      

guest mode = good

>> 38090     2.2924  qemu-system-x86_64       cpu_physical_memory_rw
>> 34764     2.0923  qemu-system-x86_64       phys_page_find_alloc
>> 14730     0.8865  qemu-system-x86_64       qemu_get_ram_ptr
>> 10814     0.6508  vmlinux-2.6.31-rc5-autokern1 copy_user_generic_string
>> 10871     0.6543  qemu-system-x86_64       virtqueue_get_head
>> 8557      0.5150  qemu-system-x86_64       virtqueue_avail_bytes
>> 7173      0.4317  qemu-system-x86_64       lduw_phys
>> 4122      0.2481  qemu-system-x86_64       ldl_phys
>> 3339      0.2010  qemu-system-x86_64       virtqueue_num_heads
>> 4129      0.2485  libpthread-2.5.so        pthread_mutex_lock
>>
>>      

virtio and related qemu overhead: 8.2%.

>> 25278     1.5214  vmlinux-2.6.31-rc5-autokern1 native_write_msr_safe
>> 12278     0.7390  vmlinux-2.6.31-rc5-autokern1 native_read_msr_safe
>>      

This will be reduced to if we move virtio to kernel context.

>> 12380     0.7451  vmlinux-2.6.31-rc5-autokern1 native_set_debugreg
>> 3550      0.2137  vmlinux-2.6.31-rc5-autokern1 native_get_debugreg
>>      

A lot less than before, but still annoying.

>> 4631      0.2787  vmlinux-2.6.31-rc5-autokern1 mwait_idle
>>      

idle=halt may improve this, mwait is slow.


-- 
error compiling committee.c: too many arguments to function


  reply	other threads:[~2009-08-30  8:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-27 15:41 [PATCH] don't call adjust_vmx_controls() second time Gleb Natapov
2009-08-27 16:21 ` Avi Kivity
2009-08-27 20:42   ` Andrew Theurer
2009-08-30  8:59     ` Avi Kivity [this message]
2009-08-31 13:05       ` Andrew Theurer
2009-08-31 13:52         ` Avi Kivity

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=4A9A3F7D.1000009@redhat.com \
    --to=avi@redhat.com \
    --cc=gleb@redhat.com \
    --cc=habanero@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.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