From: Luca <kronos.it@gmail.com>
To: Dor Laor <dor.laor@qumranet.com>
Cc: Dan Kenigsberg <dan.kenigsberg@qumranet.com>,
Avi Kivity <avik@qumranet.com>,
kvm-devel@lists.sf.net, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [kvm-devel] [PATCH 0/4] Rework alarm timer infrastrucure - take2
Date: Thu, 23 Aug 2007 00:07:37 +0200 [thread overview]
Message-ID: <68676e00708221507k206c1805v1ea074f4b660c769@mail.gmail.com> (raw)
In-Reply-To: <64F9B87B6B770947A9F8391472E032160D5042F3@ehost011-8.exch011.intermedia.net>
On 8/22/07, Dor Laor <dor.laor@qumranet.com> wrote:
> >> > >>> This is QEMU, with dynticks and HPET:
> >> > >>>
> >> > >>> % time seconds usecs/call calls errors syscall
> >> > >>> ------ ----------- ----------- --------- ---------
> -------------
> >---
> >> > >>> 52.10 0.002966 0 96840
> clock_gettime
> >> > >>> 19.50 0.001110 0 37050
> timer_gettime
> >> > >>> 10.66 0.000607 0 20086
> timer_settime
> >> > >>> 10.40 0.000592 0 8985 2539 sigreturn
> >> > >>> 4.94 0.000281 0 8361 2485 select
> >> > >>> 2.41 0.000137 0 8362 gettimeofday
> >> > >>> ------ ----------- ----------- --------- ---------
> -------------
> >---
> >> > >>> 100.00 0.005693 179684 5024 total
> >> > >>>
> >> > >>>
> >> > >> This looks like 250 Hz?
> >> > >>
> >> > >
> >> > > Nope:
> >> > >
> >> > > # CONFIG_NO_HZ is not set
> >> > > # CONFIG_HZ_100 is not set
> >> > > # CONFIG_HZ_250 is not set
> >> > > # CONFIG_HZ_300 is not set
> >> > > CONFIG_HZ_1000=y
> >> > > CONFIG_HZ=1000
> >> > >
> >> > > and I'm reading it from /proc/config.gz on the guest.
> >> > >
> >> >
> >> > Yeah, thought so -- so dyntick is broken at present.
> >>
> >> I see a lot of sub ms timer_settime(). Many of them are the result of
> >> ->expire_time being less than the current qemu_get_clock(). This
> >> results into 250us timer due to MIN_TIMER_REARM_US; this happens only
> >> for the REALTIME timer. Other sub-ms timers are generated by the
> >> VIRTUAL timer.
> >>
> >> This first issue is easily fixed; if expire_time < current time then
> >> the timer has expired and hasn't been reprogrammed (and thus can be
> >> ignored).
> >> VIRTUAL just becomes more accurate with dyntics, before multiple
> >> timers were batched together.
> >>
> >> > Or maybe your host kernel can't support such a high rate.
> >>
> >> I don't know... a simple printf tells me that the signal handler is
> >> called about 1050 times per second, which sounds about right.
> >
> >...unless strace is attached. ptrace()'ing the process really screw up
> >the timing with dynticks; HPET is also affected but the performance
> >hit is not as severe.
> >
> I didn't figure out how you use both hpet and dyn-tick together.
I don't. Only one timer source is active at any time; the selection is
done at startup with -clock option.
> Hpet has periodic timer while dyn-tick is one shot timer each time.
> Is ther a chance that both are working and that's the source of our
> problems?
No, the various sources are exclusive (though it might be possible to
use HPET in one shot mode).
Luca
next prev parent reply other threads:[~2007-08-22 22:07 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-17 23:11 [Qemu-devel] [PATCH 0/4] Rework alarm timer infrastrucure - take 2 Luca Tettamanti
2007-08-17 23:11 ` [Qemu-devel] [PATCH 1/4] Rework alarm timer infrastrucure Luca Tettamanti
2007-08-17 23:11 ` [Qemu-devel] [PATCH 2/4] Add -clock option Luca Tettamanti
2007-08-17 23:11 ` [Qemu-devel] [PATCH 3/4] Add support for HPET periodic timer Luca Tettamanti
2007-08-21 19:24 ` Matthew Kent
2007-08-21 19:40 ` Luca
2007-08-21 20:15 ` Matthew Kent
2007-08-22 6:48 ` [kvm-devel] " Dan Kenigsberg
2007-08-22 7:03 ` Avi Kivity
2007-08-22 12:34 ` Andi Kleen
2007-08-22 21:11 ` Dan Kenigsberg
2007-08-22 22:09 ` Andi Kleen
2007-08-23 7:02 ` Dan Kenigsberg
2007-08-24 20:18 ` Luca
2007-08-25 8:24 ` Dan Kenigsberg
2007-09-03 8:40 ` GUERRAZ Francois
2007-08-17 23:11 ` [Qemu-devel] [PATCH 4/4] Add support for dynamic ticks Luca Tettamanti
2007-08-17 23:48 ` [Qemu-devel] [PATCH 0/4] Rework alarm timer infrastrucure - take 2 Christian MICHON
2007-08-18 0:10 ` [kvm-devel] " Luca
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
2007-08-18 22:02 ` [Qemu-devel] " Luca Tettamanti
2007-08-18 23:58 ` Anthony Liguori
2007-08-19 7:36 ` [Qemu-devel] RE: [kvm-devel] [PATCH 0/4] Rework alarm timer infrastrucure -take2 Dor Laor
2007-08-19 8:24 ` [Qemu-devel] Re: [kvm-devel] [PATCH 0/4] Rework alarm timer infrastrucure - take2 Avi Kivity
2007-08-19 13:10 ` Jamie Lokier
2007-08-19 13:48 ` [kvm-devel] [Qemu-devel] " Avi Kivity
2007-08-19 13:57 ` Paul Brook
2007-08-19 14:07 ` Avi Kivity
2007-08-19 14:27 ` Dor Laor
2007-08-20 9:25 ` Avi Kivity
2007-08-19 17:15 ` Jamie Lokier
2007-08-19 19:29 ` [kvm-devel] [Qemu-devel] Re: [PATCH 0/4] Rework alarmtimer " Dor Laor
2007-08-19 19:30 ` [kvm-devel] [Qemu-devel] Re: [PATCH 0/4] Rework alarm timer " Avi Kivity
2007-08-19 16:52 ` [Qemu-devel] Re: [kvm-devel] " Luca
2007-08-19 19:31 ` Avi Kivity
2007-08-20 21:20 ` Luca Tettamanti
2007-08-20 21:55 ` malc
2007-08-20 22:49 ` [kvm-devel] [Qemu-devel] " Luca
2007-08-21 12:09 ` [Qemu-devel] Re: [kvm-devel] " Avi Kivity
2007-08-21 19:38 ` Luca Tettamanti
2007-08-21 19:44 ` malc
2007-08-22 5:02 ` Avi Kivity
2007-08-22 16:12 ` Luca Tettamanti
2007-08-22 16:21 ` Avi Kivity
2007-08-22 16:38 ` Luca
2007-08-22 16:45 ` Avi Kivity
2007-08-22 17:23 ` Luca
2007-08-22 17:39 ` Luca
2007-08-22 19:21 ` Luca
2007-08-22 21:35 ` [Qemu-devel] " Dor Laor
2007-08-22 22:07 ` Luca [this message]
2007-08-22 20:42 ` [Qemu-devel] " Dan Kenigsberg
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=68676e00708221507k206c1805v1ea074f4b660c769@mail.gmail.com \
--to=kronos.it@gmail.com \
--cc=avik@qumranet.com \
--cc=dan.kenigsberg@qumranet.com \
--cc=dor.laor@qumranet.com \
--cc=kvm-devel@lists.sf.net \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).