Re: kvm guest loops_per_jiffy miscalibration under host load

Marcelo Tosatti
2008-07-07T18:50:12Z

On Mon, Jul 07, 2008 at 03:27:16PM -0300, Glauber Costa wrote:
> > I agree. A paravirt solution solves the problem.
>
> Please, look at the patch I've attached.
>
> It does __delay with host help. This may have the nice effect of not
> busy waiting for long-enough delays, and may well.
>
> It is _completely_ PoC, just to show the idea. It's ugly, broken,
> obviously have to go through pv-ops, etc.
>
> Also, I intend to add a lpj field in the kvm clock memory area. We
> could do just this later, do both, etc.
>
> If we agree this is a viable solution, I'll start working on a patch

This stops interrupts from being processed during the delay. And also
there are cases like this recently introduced break:

/* Allow RT tasks to run */
preempt_enable();
rep_nop();
preempt_disable();

I think it would be better to just pass the lpj value via paravirt and
let the guest busy-loop as usual.