In the vcpu overcommit environment, the 32-bit and 64-bit clock drift of rhel54 are different.
32bit system time slows down. This is reasonable, but 64bit system time gets faster. At first glance, it seems unreasonable and there is no reason to make it faster. 32bit has four clocksources, while 64bit only has one clocksource, Which is jiffie.
By checking the code, it is found that 64bit will compensate jiffie when the clock is interrupted, and calculate the lost tick based on the difference of tsc.
Because the timer_mode at Vm startup is set to 1, Xen will compensate the missed tick in the middle. From the test results, that is, 64-bit systems are supplemented in the dual compensation mechanism of xen and itself, resulting in step forward. This problem can be solved by modifying timer_mode or 64bit command line, the experiment also proves that both methods are effective,
But the second is better. The first is slower than the second, and the Standard Time deviation is more.
From the column wanjia19870902