[libvirt] [PATCH 5/6] qemu: Implement hypervisor's period and quota tunable XML configuration and parsing

Hu Tao hutao at cn.fujitsu.com
Thu May 17 05:42:26 UTC 2012


On Thu, May 17, 2012 at 01:25:48PM +0800, Wen Congyang wrote:
> At 05/17/2012 01:09 PM, KAMEZAWA Hiroyuki Wrote:
> > (2012/05/17 14:07), Wen Congyang wrote:
> > 
> >> At 05/17/2012 12:46 PM, KAMEZAWA Hiroyuki Wrote:
> >>> (2012/05/17 12:54), Wen Congyang wrote:
> > 
> >>>> So, if we donot limit the hypervisor, the behavior shoule not be
> >>>> changed. So we should limit the whole vm. If the hypervisor threads
> >>>> are limited, there is no need to limit the whole vm.
> >>>>
> >>>
> >>>
> >>> need to tune hypervisor quota to limit vcpu-only quota ?
> >>> Sounds strange to me.
> >>
> >> No, current implemetion is:
> >> 1. limit vcpu and hypervisor: vm is not limited
> >> 2. limit vcpu only: vm is limited
> >> 3. limit hypervisor: vm is not limited
> >> 4. vcpu and hypervisor are not limited: vm is not limited.
> >>
> > 
> > 
> > In 2.
> > 
> >    vm               ----- quota_is_limited
> >     |- hypervisor   ----- quota is unlimited
> >     |- vcpu[0...x]  ----- quota is limited
> > 
> > Hm...vm is limited. It seems user need to tune vm's quota...can user
> > makes vm's quota to be unlimited and limit *only* vpcus as Xen ?
> 
> Without this patchset, the vm will be limited if the vcpu is limited.
> We cannot know whether the hypervisor is unlimited or the user does not
> set it. If the user does not set it, we should not change the behavior.
> So I donot find an easy way to limit only vcpus.

Can we change the implementation like these:

1. 
<cputune>
  <vcpu>
    <period>period</period>
    <quota>quota</quota>
  </vcpu>
</cputune>

Limit vcpus only, does not limit vm or hypervisor.

2.
<cputune>
  <hypervisor>
    <period>period</period>
    <quota>quota</quota>
  </hypervisor>
</cputune>

Limit hypervisor only, does not limit vm or vcpus.

3.
<cputune>
  <period>period</period>
  <quota>quota</quota>
</cputune>

Limit the whole vm, in this case vcpus and hypervisor are also limited.

4.
<cputune>
  <period>period</period>
  <quota>quota</quota>
  <vcpu>
    <period>period</period>
    <quota>quota</quota>
  </vcpu>
  <hypervisor>
    <period>period</period>
    <quota>quota</quota>
  </hypervisor>
</cputune>

Limit vm, vcpus and hypervisor. I'm not sure how cpu cgroup behaves
in this case, but I suppose vcpus' and hypervisor's values will not
exceed vm's value.


-- 
Thanks,
Hu Tao




More information about the libvir-list mailing list