Recently we found one performance bug when doing network test with VTd assigned devices - in some extreme case, the network performance in HVM using new Linux kernel could be 1/20 of native. Root cause is one of our sync-tsc-under-deep-C-state patches brings extra kilo-TSC drift between pCPUs and let check-tsc-sync logic in HVM failed. The result is the kernel fails to use platform timer (HPET, PMtimer) for gettimeofday instead of TSC and brings very frequent costly IOport access VMExit - triple per one call. We provides below 2 patches to address the issue: tsc1.patch: Minimize the TSC drift between pCPUs by letting BSP/AP set TSC at the same time in time_calibration_rendezvous(). Looping a few times before writing tsc sounds better, but it may be too costly. Signed-off-by: Xiaowei Yang tsc2.patch: only do TSC-sync if really necessary, which narrows its effect a lot. Signed-off-by: Wei Gang Thanks, Xiaowei