How does Hypervisor synchronize time between Host and guest VM?

I read this blog:

After conducting a little research, I was caused by the fact that the Linux kernel runs at a frequency of 1000 Hz by default and that VMware cannot deliver clock interrupts in a timely manner without losing them. This means that some synchronization interrupts are lost without notification of the Linux kernels that accepts each mark of the 1 / 1000th interrupt second. Thus, every synchronization interruption that is lost, the clock falls in 1/1000 of a second.

Now, to my question, how does the time of the hypervisor synchronize internally if the hypervisor is capable of handling clock interrupts?

Because when they say (an extended example, not the real world): its 19:10:22 on the Host, until it spreads to the guest, it will be 19:10:23 on the host.

I understand that this is a difficult problem, but I think you need to slow down time from virtual machines. How is this achieved?

VMWare Time Tracking

+3
source share
1 answer

The hypervisor does not synchronize the clock. It is software running in a guest virtual machine that synchronizes the clock.

From page 15 (with an explanation continuing on page 19) of your linked PDF:

: VMware Tools , , . - Microsoft W32Time Windows NTP Linux.

VMware Tools ( ) , . , , ( API, SetSystemTimeAdjustment Windows adjtime Unix). , , API , VMware , .

+2

Source: https://habr.com/ru/post/1779802/


All Articles