On 19/05/2017 23:29, Felipe Franciosi wrote: > Currently, the throttle_thread_scheduled flag is reset back to 0 before > sleeping (as part of the throttling logic). Given that throttle_timer > (well, any timer) may tick with a slight delay, it so happens that under > heavy throttling (ie. close or on CPU_THROTTLE_PCT_MAX) the tick may > schedule a further cpu_throttle_thread() work item after the flag reset, > but before the previous sleep completed. This results on the vCPU thread > sleeping continuously for potentially several seconds in a row. > > The chances of that happening can be drastically minimised by resetting > the flag after the sleep.
True, on the other hand this may also increase the chance of not sleeping at all. How overcommitted was the host system? Paolo > Signed-off-by: Felipe Franciosi <fel...@nutanix.com> > Signed-off-by: Malcolm Crossley <malc...@nutanix.com>