[Engine-devel] what does engine with cpuIdle?

Dan Kenigsberg danken at redhat.com
Tue Sep 11 12:34:13 UTC 2012


On Tue, Sep 11, 2012 at 07:38:11AM -0400, Laszlo Hornyak wrote:
> 
> ----- Original Message -----
> > From: "Dan Kenigsberg" <danken at redhat.com>
> > To: "Omer Frenkel" <ofrenkel at redhat.com>
> > Cc: "Laszlo Hornyak" <lhornyak at redhat.com>, "engine-devel" <engine-devel at ovirt.org>
> > Sent: Tuesday, September 11, 2012 9:22:15 AM
> > Subject: Re: [Engine-devel] what does engine with cpuIdle?
> > 
> > On Tue, Sep 11, 2012 at 01:55:01AM -0400, Omer Frenkel wrote:
> > > 
> > > 
> > > ----- Original Message -----
> > > > From: "Laszlo Hornyak" <lhornyak at redhat.com>
> > > > To: "engine-devel" <engine-devel at ovirt.org>
> > > > Sent: Monday, September 10, 2012 3:51:59 PM
> > > > Subject: [Engine-devel] what does engine with cpuIdle?
> > > > 
> > > > hi,
> > > > 
> > > > I am trying to change a behavior in vdsm. When you pass 100% load
> > > > on
> > > > a VM, it will stop reporting further load and will keep telling
> > > > 100%
> > > > until the load drops under 100% again in it's cpuIdle
> > > > information.
> > > > This is totally correct if you have only single-cpu VM's, but it
> > > > is
> > > > false when you have multiple vcpu's, I think the cpuIdle
> > > > information
> > > > should not be on a 0-100 scale, but on a 0-100*vcpus scale.
> > > > 
> > > > So I submitted this patch to vdsm:
> > > > http://gerrit.ovirt.org/#/c/7892/2
> > > > and Dan pointed out that some functionality may depend on the
> > > > value
> > > > in the 0-100 interval. For me it seems it is ignored and the load
> > > > is
> > > > calculated only from sysCpu + userCpu. Does anyone build on the
> > > > cpuIdle value?
> > > > 
> > > > Thanks,
> > > > Laszlo
> > > >
> > > 
> > > you are right, engine doesn't save cpuIdle for vm,
> > > so it's not in use in the engine.
> > 
> > Laszlo, in this case, I think it would be best to drop this bogus
> > piece
> > of information.
> 
> Ok.
> 
> However, before I abandon this patch:

Why abandon? I've suggested you to keep it, just make it even simpler.

> we have a requirement to report cpuSys and cpuUser separately. Afaik
> in libvirt cpuUser and cpuSys does not include the actual guest time
> (at least not with KVM), and in this way if we only report cpuSys and
> cpuUser, the sum does not give the actual load, only a relatively
> little percentage of it.

I am not sure I understand what you are saying, but afaik, libvirt's
relatively-new
http://libvirt.org/html/libvirt-libvirt.html#virDomainGetCPUStats
reports the cpu time spent by the entire qemu process - in guest and
host modes.

> If we have the cpuIdle information in engine,
> we can calculate the guest time. Therefore, should I - include the
> guest time in cpuSys or cpuUser?
> - add another exported field?
> 
> And in both case, we will still have to calculate from cpuIdle because
> libvirt does not tell the guest cpu time :-(

Now I'm completely at loss. Why should we calculate cpuIdle per VM?
Haven't we agreed that it is useless?

Dan.



More information about the Engine-devel mailing list