Paul Brook wrote:
There seem to have specific problems when using dynticks in Qemu. What I
can see is that it makes the PowerPC emulation quite unusable, at least
on my PC, which is an amd64 (with a fix CPU frequency), no matter if I
run 32 or 64 bits mode.
I'd expect to see the same problems running a non-dynticks qemu on a heavily
loaded host, or a host that did not have /dev/rtc available.
IIRC vanilla amd64-linux does not yet use the new kernel high resolution timer
infrastructure, so posix timers (as used by dynticks) have a fairly high
jitter+latency compared to /dev/rtc.
As of linux 2.6.24 there is dyn-tick kernel support for 64 bits.
Expect for dyn-tick there is also the hpet option.
The tradeoff is that on hosts that do implement high resolution timers (e.g.
i386) you get lower overhead and/or more accurate emulation. I don't think
there's any deterministic way of figuring out which is best. It may be
feasible to switch mechanisms dynamically if it's obvious one is sucking, but
I'm not sure how well that would work in practice.
The only reliable solution is to isolate qemu from the host realtime
characteristics, though that has its own set of issues. I hope to have this
implemented fairly soon.
Paul