Re: [PATCH] Implement timekeeping for rumprun/hw (x86)

  • From: Antti Kantee <pooka@xxxxxx>
  • To: rumpkernel-users@xxxxxxxxxxxxx
  • Date: Mon, 06 Jul 2015 10:35:43 +0000

On 06/07/15 08:32, Martin Lucina wrote:

On Sunday, 05.07.2015 at 10:44, Martin Lucina wrote:
Bizarre. The problem is not related to QEMU -- running on baremetal x86_64
produces the same behaviour. I've checked all the likely culprits (pit_mult
and tsc_mult values) and those are all fine.

Fixed. A stupid mistake on my part, when I removed the while() loop from
bmk_cpu_block() I neglected to invert the "don't go in here if we're late"
condition. I've cleaned up that function to make the control flow easier to
follow.

While that may be a fix, how can that even in theory be a fix for the guest clock running at 2/5 speed compared to the real world?? Testing confirms that the problem is still there. I also tested 32bit qemu, and I see the problem there too. Also, qemu now consumes ~7% host CPU for a program which does "sleep(1000);". That is way way too high for everything to be peachy.

Other related posts: