On Fri, 2016-06-03 at 13:21 +0800, Wanpeng Li wrote: > From: Wanpeng Li > > I observed that sometimes st is 100% instantaneous, then idle is > 100%  > even if there is a cpu hog on the guest cpu after the cpu hotplug > comes  > back(N.B. this can not always be readily reproduced). I add trace to  > capture it as below: > > cpuhp/1-12    [001] d.h1   167.461657: account_process_tick: steal = > 1291385514, prev_steal_time = 0          > cpuhp/1-12    [001] d.h1   167.461659: account_process_tick: > steal_jiffies = 1291           > -0     [001] d.h1   167.462663: account_process_tick: steal = > 18732255, prev_steal_time = 1291000000           > -0     [001] d.h1   167.462664: account_process_tick: > steal_jiffies = 18446744072437 > > The steal clock warp and then steal_jiffies overflow. > > Rik also pointed out to me: >   > > > > I have seen stuff like that with live migration too, in the past  > This patch adds steal clock warp handling by a safe threshold to > only  > apply steal times that are positive and smaller than one second (as  > long as nohz_full has the one second timer tick left), ignoring > intervals  > that are negative or longer than a second, and using those to sync > up  > the guest with the host. > > Cc: Ingo Molnar > Cc: Peter Zijlstra (Intel) > Cc: Rik van Riel > Cc: Thomas Gleixner > Cc: Frederic Weisbecker > Cc: Paolo Bonzini > Cc: Radim > Signed-off-by: Wanpeng Li > Reviewed-by: Rik van Riel -- All Rights Reversed.