VMware Cloud Community
thetimp
Contributor
Contributor

VMware time sync under vSMP kernel

Hi,

This isn't specifically a ESX 3.x (but still applies under ESX) question but I couldn't find a generic forum for this question. I have read and am well aware of the Timekeeping in VMware Virtual Machines document and have correct time sync with all of my non-smp Linux guests.

My question is around weird activities from the vmware-guestd service under a Linux guest.

I have setup a watch process checking the output of hwclock and date every 2 seconds and am doing a compare with the clock on the host. When running the guest (SLES 9SP3 x86) with clock=pit in the boot stanza with a single processor virtual machine and a standard (non-smp) kernel. The time is correctly in sync with the host, when running a smp kernel with either clock=pit, clock=tsc or clock=pmtmr the time gets out of sync, thats not a major as if the clock is slow vmware-guestd should bring it back in line (so I thought).

I have confirmed that the vmware-guestd process is running (and has the respective modules loaded for smp support (i.e. have re-run vmware-config-tools.pl once installing the smp kernel)) and have executed an strace of vmware-guestd and observe almost every 60 seconds it executing a gettimeofday call. I \_don't_ see how ever the respective settimeofday call when the time is out of sync with the host (as I can confirm it is).

As a bit of a sidenote, if I call:

vmware-guestd --cmd 'vmx.set_option synctime 1 0'

to turn off the time sync between the host and gues I notice it calls gettimeofday

If I call:

vmware-guestd --cmd 'vmx.set_option synctime 0 1'

vmware-guestd --cmd 'vmx.set_option time.synchronize.tools.startup 0 1'

I can see it once again call gettimeofday but I can't see it calling settimeofday as it should do so the VMware manual indicates.

Look forward to any feedback you all might have..

Cheers

0 Kudos
0 Replies