Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Sep 2009 22:17:23 -0400
From:      Ryan Stone <rysto32@gmail.com>
To:        Juergen Lock <nox@jelal.kn-bremen.de>
Cc:        Mohammed Gamal <m.gamal005@gmail.com>, freebsd-current@freebsd.org, Jan Kiszka <jan.kiszka@web.de>, qemu-devel@nongnu.org, Avi Kivity <avi@qumranet.com>
Subject:   Re: FreeBSD timing issues and qemu (was: Re: [Qemu-devel] Re:  Breakage with local APIC routing)
Message-ID:  <bc2d970909071917n12256d9ucee24327aec3d527@mail.gmail.com>
In-Reply-To: <20090907205955.GA91866@triton8.kn-bremen.de>
References:  <4A93AFF9.1060201@web.de> <52d4a3890908250321u746e5757u136030bcbc19208d@mail.gmail.com> <4A93BF0C.8040601@web.de> <20090826221001.GA1070@triton8.kn-bremen.de> <4A96C8D9.6070804@web.de> <20090829211848.GA59305@triton8.kn-bremen.de> <4A9B800F.1040209@web.de> <20090831212723.GA32448@triton8.kn-bremen.de> <20090901201248.GA60123@triton8.kn-bremen.de> <20090907205955.GA91866@triton8.kn-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
I'm not entirely clear on why it's done this way, but the timer is run at
twice hz for statistics-gathering purposes*.  CPU usage statistics gathering
is driven off of the timer interrupt.  Running the timer at twice hz may be
an attempt to eliminate clock-aliasing problems; if so, it's a poor way of
doing so.  In any case, seeing interrupts come in at twice hz is expected
behaviour.  This means that the guest will be requesting a timer interrupt
rate of twice the granularity that the host's scheduler can support; this
may be the cause of your other timing problems(although I have a hard time
imagining how).

This timer is twice hz behaviour has existed at least since FreeBSD 6.1, so
I can't explain why you see the new behaviour between 7 and 8.  You do have
hz set to 1000 on both the guest and host when running 7?

* Actually, from looking at the code the behaviour is dynamic.  If hz >=
1500, the timer interrupt rate is set to hz.  If 750 <= hz < 1500, the timer
interrupt rate is set to 2 * hz.  If hz < 750, the timer interrupt rate is
set to 4 * hz.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bc2d970909071917n12256d9ucee24327aec3d527>