2018-04-22 9:15 GMT+08:00 Anthoine Bourgeois <anthoine.bourgeois@xxxxxxxxxxxxxxx>: > On Sun, Apr 22, 2018 at 08:49:06AM +0800, Wanpeng Li wrote: >> >> 2018-04-22 0:30 GMT+08:00 Anthoine Bourgeois >> <anthoine.bourgeois@xxxxxxxxxxxxxxx>: >>> >>> Since the commit "8003c9ae204e: add APIC Timer periodic/oneshot mode VMX >>> preemption timer support", a Windows 10 guest has some erratic timer >>> spikes after few hours. As the uptime of the VM grows the spikes are >>> larger. >>> >>> Here the results on a 150000 times 1ms timer without any load: >>> Before 8003c9ae204e | After 8003c9ae204e >>> Max 1834us | 86000us >>> Mean 1100us | 1021us >>> Deviation 59us | 149us >>> Here the results on a 150000 times 1ms timer with a cpu-z stress test: >>> Before 8003c9ae204e | After 8003c9ae204e >>> Max 32000us | 140000us >>> Mean 1006us | 1997us >>> Deviation 140us | 11095us >>> >> >> In your testing, preemption_timer kvm_intel parameter is N, right? In >> addition, could you post the testcase? >> > The preemption_timer is set to Y. > > The testcase is an windows app that stream sound. The kernel upgrade > trigger lots of sound crackling that get worst over the time. I suspect > that there are other side effect on the guest but the sound was the most > obvious on our workload. > > The numbers in the commit message came from a simple test program that > loop on a 1ms sleep calls to show more formally the problem. Please explain the root cause why target_expiration results in spike? Regards, Wanpeng Li