All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Luca Tettamanti <kronos.it-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: kvm-devel-TtF/mJH4Jtrk1uMJSBkQmQ@public.gmane.org,
	qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH 0/4] Rework alarm timer infrastrucure -	take2
Date: Tue, 21 Aug 2007 15:09:43 +0300	[thread overview]
Message-ID: <46CAD607.2080504@qumranet.com> (raw)
In-Reply-To: <20070820212058.GA6713-sTXFmx6KbOnUXq0IF5SVAZ4oGUkBHcCu@public.gmane.org>

Luca Tettamanti wrote:
>>>   
>>>       
>> Run a 100Hz guest, measure cpu usage using something accurate like
>> cyclesoak, with and without dynticks, with and without kvm.
>>     
>
> Ok, here I've measured the CPU usage on the host when running an idle
> guest.
>
> At 100Hz
>
> QEMU
> hpet            4.8%
> dynticks        5.1%
>
> Note: I've taken the mean over a period of 20 secs, but the difference
> between hpet and dynticks is well inside the variability of the test.
>
> KVM
> hpet            2.2%
> dynticks        1.0%
>
> Hum... here the numbers jumps a bit, but dynticks is always below hpet.
>   

The differences here are small, so I'll focus on the 1000Hz case.

> At 1000Hz:
>
> QEMU
> hpet            5.5%
> dynticks       11.7%
>
> KVM
> hpet            3.4%
> dynticks        7.3%
>
> No surprises here, you can see the additional 1k syscalls per second. 

This is very surprising to me.  The 6.2% difference for the qemu case 
translates to 62ms per second, or 62us per tick at 1000Hz.  That's more 
than a hundred simple syscalls on modern processors.  We shouldn't have 
to issue a hundred syscalls per guest clock tick.

The difference with kvm is smaller (just 3.9%), which is not easily 
explained as the time for the extra syscalls should be about the same.  
My guess is that guest behavior is different; with dynticks the guest 
does about twice as much work as with hpet.

Can you verify this by running

    strace -c -p `pgrep qemu` & sleep 10; pkill strace

for all 4 cases, and posting the results?


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


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/

WARNING: multiple messages have this Message-ID (diff)
From: Avi Kivity <avi@qumranet.com>
To: Luca Tettamanti <kronos.it@gmail.com>
Cc: kvm-devel@lists.sf.net, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [kvm-devel] [PATCH 0/4] Rework alarm timer infrastrucure -	take2
Date: Tue, 21 Aug 2007 15:09:43 +0300	[thread overview]
Message-ID: <46CAD607.2080504@qumranet.com> (raw)
In-Reply-To: <20070820212058.GA6713@dreamland.darkstar.lan>

Luca Tettamanti wrote:
>>>   
>>>       
>> Run a 100Hz guest, measure cpu usage using something accurate like
>> cyclesoak, with and without dynticks, with and without kvm.
>>     
>
> Ok, here I've measured the CPU usage on the host when running an idle
> guest.
>
> At 100Hz
>
> QEMU
> hpet            4.8%
> dynticks        5.1%
>
> Note: I've taken the mean over a period of 20 secs, but the difference
> between hpet and dynticks is well inside the variability of the test.
>
> KVM
> hpet            2.2%
> dynticks        1.0%
>
> Hum... here the numbers jumps a bit, but dynticks is always below hpet.
>   

The differences here are small, so I'll focus on the 1000Hz case.

> At 1000Hz:
>
> QEMU
> hpet            5.5%
> dynticks       11.7%
>
> KVM
> hpet            3.4%
> dynticks        7.3%
>
> No surprises here, you can see the additional 1k syscalls per second. 

This is very surprising to me.  The 6.2% difference for the qemu case 
translates to 62ms per second, or 62us per tick at 1000Hz.  That's more 
than a hundred simple syscalls on modern processors.  We shouldn't have 
to issue a hundred syscalls per guest clock tick.

The difference with kvm is smaller (just 3.9%), which is not easily 
explained as the time for the extra syscalls should be about the same.  
My guess is that guest behavior is different; with dynticks the guest 
does about twice as much work as with hpet.

Can you verify this by running

    strace -c -p `pgrep qemu` & sleep 10; pkill strace

for all 4 cases, and posting the results?


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

  parent reply	other threads:[~2007-08-21 12:09 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-17 23:11 [PATCH 0/4] Rework alarm timer infrastrucure - take 2 Luca Tettamanti
2007-08-17 23:11 ` [Qemu-devel] " Luca Tettamanti
2007-08-17 23:11 ` [PATCH 1/4] Rework alarm timer infrastrucure Luca Tettamanti
2007-08-17 23:11   ` [Qemu-devel] " Luca Tettamanti
2007-08-17 23:11 ` [PATCH 2/4] Add -clock option Luca Tettamanti
2007-08-17 23:11   ` [Qemu-devel] " Luca Tettamanti
2007-08-17 23:11 ` [PATCH 3/4] Add support for HPET periodic timer Luca Tettamanti
2007-08-17 23:11   ` [Qemu-devel] " Luca Tettamanti
     [not found]   ` <20070817231406.493008599-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2007-08-21 19:24     ` Matthew Kent
2007-08-21 19:24       ` Matthew Kent
2007-08-21 19:40       ` Luca
2007-08-21 19:40         ` Luca
     [not found]         ` <68676e00708211240k7237bf21k131257dd28063d26-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-21 20:15           ` Matthew Kent
2007-08-21 20:15             ` Matthew Kent
2007-08-22  6:48             ` Dan Kenigsberg
2007-08-22  6:48               ` [kvm-devel] " Dan Kenigsberg
     [not found]               ` <20070822064851.GA16295-RO/WWmT55CHJJbofclyLPCHBx9XpghdU@public.gmane.org>
2007-08-22  7:03                 ` Avi Kivity
2007-08-22  7:03                   ` [kvm-devel] " Avi Kivity
     [not found]                   ` <46CBDFC4.5060207-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-22 12:34                     ` Andi Kleen
2007-08-22 12:34                       ` [kvm-devel] " Andi Kleen
     [not found]                       ` <20070822123424.GK2642-KvMlXPVkKihbpigZmTR7Iw@public.gmane.org>
2007-08-22 21:11                         ` Dan Kenigsberg
2007-08-22 21:11                           ` [kvm-devel] " Dan Kenigsberg
     [not found]                           ` <20070822211150.GA22093-RO/WWmT55CHJJbofclyLPCHBx9XpghdU@public.gmane.org>
2007-08-22 22:09                             ` Andi Kleen
2007-08-22 22:09                               ` [kvm-devel] " Andi Kleen
     [not found]                               ` <20070822220947.GK8058-KvMlXPVkKihbpigZmTR7Iw@public.gmane.org>
2007-08-23  7:02                                 ` Dan Kenigsberg
2007-08-23  7:02                                   ` [kvm-devel] " Dan Kenigsberg
     [not found]                                   ` <20070823070230.GA24942-RO/WWmT55CHJJbofclyLPCHBx9XpghdU@public.gmane.org>
2007-08-24 20:18                                     ` Luca
2007-08-24 20:18                                       ` [kvm-devel] " Luca
2007-08-25  8:24                                       ` Dan Kenigsberg
2007-09-03  8:40         ` GUERRAZ Francois
2007-08-17 23:11 ` [PATCH 4/4] Add support for dynamic ticks Luca Tettamanti
2007-08-17 23:11   ` [Qemu-devel] " Luca Tettamanti
     [not found] ` <20070817231149.544849769-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2007-08-17 23:48   ` [Qemu-devel] [PATCH 0/4] Rework alarm timer infrastrucure - take 2 Christian MICHON
2007-08-17 23:48     ` Christian MICHON
     [not found]     ` <46d6db660708171648m3a798685q6514261bc097bc62-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-18  0:10       ` Luca
2007-08-18  0:10         ` [kvm-devel] " Luca
2007-08-18 15:17   ` Anthony Liguori
2007-08-18 15:17     ` [Qemu-devel] Re: [kvm-devel] " Anthony Liguori
2007-08-18 16:53     ` [Qemu-devel] RE: [kvm-devel] [PATCH 0/4] Rework alarm timer infrastrucure - take2 Dor Laor
     [not found]       ` <64F9B87B6B770947A9F8391472E032160D4645F0-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-18 22:02         ` Luca Tettamanti
2007-08-18 22:02           ` [Qemu-devel] Re: [kvm-devel] " Luca Tettamanti
     [not found]           ` <20070818220252.GA19526-sTXFmx6KbOnUXq0IF5SVAZ4oGUkBHcCu@public.gmane.org>
2007-08-18 23:58             ` Anthony Liguori
2007-08-18 23:58               ` [Qemu-devel] Re: [kvm-devel] " Anthony Liguori
2007-08-19  7:36               ` [PATCH 0/4] Rework alarm timer infrastrucure -take2 Dor Laor
2007-08-19  7:36                 ` [Qemu-devel] RE: [kvm-devel] " Dor Laor
2007-08-19  8:24               ` [PATCH 0/4] Rework alarm timer infrastrucure - take2 Avi Kivity
2007-08-19  8:24                 ` [Qemu-devel] Re: [kvm-devel] " Avi Kivity
     [not found]                 ` <46C7FE32.4050309-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-19 13:10                   ` [Qemu-devel] " Jamie Lokier
2007-08-19 13:10                     ` [Qemu-devel] Re: [kvm-devel] " Jamie Lokier
     [not found]                     ` <20070819131042.GA22798-tp2ajI7sM85Y6zH9YvfY1x2eb7JE58TQ@public.gmane.org>
2007-08-19 13:48                       ` [Qemu-devel] " Avi Kivity
2007-08-19 13:48                         ` [kvm-devel] " Avi Kivity
     [not found]                         ` <46C84A16.7040305-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-19 13:57                           ` Paul Brook
2007-08-19 13:57                             ` [kvm-devel] " Paul Brook
     [not found]                             ` <200708191457.21237.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org>
2007-08-19 14:07                               ` Avi Kivity
2007-08-19 14:07                                 ` [kvm-devel] " Avi Kivity
     [not found]                                 ` <46C84E95.7070802-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-19 14:27                                   ` Dor Laor
2007-08-19 14:27                                     ` [kvm-devel] " Dor Laor
2007-08-20  9:25                                   ` Avi Kivity
2007-08-20  9:25                                     ` [kvm-devel] " Avi Kivity
2007-08-19 17:15                               ` Jamie Lokier
2007-08-19 17:15                                 ` [kvm-devel] " Jamie Lokier
     [not found]                                 ` <20070819171545.GB16928-tp2ajI7sM85Y6zH9YvfY1x2eb7JE58TQ@public.gmane.org>
2007-08-19 19:29                                   ` [Qemu-devel] Re: [PATCH 0/4] Rework alarmtimer " Dor Laor
2007-08-19 19:29                                     ` [kvm-devel] " Dor Laor
2007-08-19 19:30                                   ` [Qemu-devel] Re: [PATCH 0/4] Rework alarm timer " Avi Kivity
2007-08-19 19:30                                     ` [kvm-devel] " Avi Kivity
2007-08-19 16:52             ` Luca
2007-08-19 16:52               ` [Qemu-devel] Re: [kvm-devel] " Luca
     [not found]               ` <68676e00708190952g7d4751c2g87a6ff71dd278f71-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-19 19:31                 ` Avi Kivity
2007-08-19 19:31                   ` [Qemu-devel] Re: [kvm-devel] " Avi Kivity
     [not found]                   ` <46C89A8E.7040609-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-20 21:20                     ` Luca Tettamanti
2007-08-20 21:20                       ` [Qemu-devel] Re: [kvm-devel] " Luca Tettamanti
     [not found]                       ` <20070820212058.GA6713-sTXFmx6KbOnUXq0IF5SVAZ4oGUkBHcCu@public.gmane.org>
2007-08-20 21:55                         ` [Qemu-devel] " malc
2007-08-20 21:55                           ` [Qemu-devel] Re: [kvm-devel] " malc
     [not found]                           ` <Pine.LNX.4.64.0708210140540.16421-KsBd/I2zj1m2ZGm1qqSgDg@public.gmane.org>
2007-08-20 22:49                             ` [Qemu-devel] " Luca
2007-08-20 22:49                               ` [kvm-devel] " Luca
2007-08-21 12:09                         ` Avi Kivity [this message]
2007-08-21 12:09                           ` [Qemu-devel] Re: [kvm-devel] " Avi Kivity
     [not found]                           ` <46CAD607.2080504-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-21 19:38                             ` Luca Tettamanti
2007-08-21 19:38                               ` [Qemu-devel] Re: [kvm-devel] " Luca Tettamanti
     [not found]                               ` <20070821193834.GB13544-sTXFmx6KbOnUXq0IF5SVAZ4oGUkBHcCu@public.gmane.org>
2007-08-21 19:44                                 ` malc
2007-08-21 19:44                                   ` [Qemu-devel] Re: [kvm-devel] " malc
2007-08-22  5:02                                 ` Avi Kivity
2007-08-22  5:02                                   ` [Qemu-devel] Re: [kvm-devel] " Avi Kivity
     [not found]                                   ` <46CBC34F.6060601-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-22 16:12                                     ` Luca Tettamanti
2007-08-22 16:12                                       ` [Qemu-devel] Re: [kvm-devel] " Luca Tettamanti
     [not found]                                       ` <20070822161211.GA30147-sTXFmx6KbOnUXq0IF5SVAZ4oGUkBHcCu@public.gmane.org>
2007-08-22 16:21                                         ` Avi Kivity
2007-08-22 16:21                                           ` [Qemu-devel] Re: [kvm-devel] " Avi Kivity
     [not found]                                           ` <46CC6285.3090904-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-22 16:38                                             ` Luca
2007-08-22 16:38                                               ` [Qemu-devel] Re: [kvm-devel] " Luca
     [not found]                                               ` <68676e00708220938y57c07edas705fc8360aefcb78-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-22 16:45                                                 ` Avi Kivity
2007-08-22 16:45                                                   ` [Qemu-devel] Re: [kvm-devel] " Avi Kivity
     [not found]                                                   ` <46CC680C.1030307-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-08-22 17:23                                                     ` Luca
2007-08-22 17:23                                                       ` [Qemu-devel] Re: [kvm-devel] " Luca
     [not found]                                                       ` <68676e00708221023m352c2de3y3b19188dbb9ef49e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-22 17:39                                                         ` Luca
2007-08-22 17:39                                                           ` [Qemu-devel] Re: [kvm-devel] " Luca
2007-08-22 19:21                                                         ` Luca
2007-08-22 19:21                                                           ` [Qemu-devel] Re: [kvm-devel] " Luca
     [not found]                                                           ` <68676e00708221221n6f8fcd67m9d15f7fea663ec71-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-08-22 21:35                                                             ` Dor Laor
2007-08-22 21:35                                                               ` [Qemu-devel] RE: [kvm-devel] " Dor Laor
     [not found]                                                               ` <64F9B87B6B770947A9F8391472E032160D5042F3-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-08-22 22:07                                                                 ` Luca
2007-08-22 22:07                                                                   ` [Qemu-devel] Re: [kvm-devel] " Luca
2007-08-22 20:42                                                 ` Dan Kenigsberg
2007-08-22 20:42                                                   ` [Qemu-devel] Re: [kvm-devel] " Dan Kenigsberg
2007-08-18 16:53     ` Dor Laor

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=46CAD607.2080504@qumranet.com \
    --to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
    --cc=kronos.it-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=kvm-devel-TtF/mJH4Jtrk1uMJSBkQmQ@public.gmane.org \
    --cc=qemu-devel-qX2TKyscuCcdnm+yROfE0A@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.