[libvirt] [PATCH] cgroup: Enable memory.use_hierarchy of cgroup for domain

Daniel P. Berrange berrange at redhat.com
Thu May 6 15:38:07 UTC 2010


On Thu, May 06, 2010 at 08:56:27PM +0530, Balbir Singh wrote:
> > +            if (memory_hierarchy &&
> > +                group->controllers[VIR_CGROUP_CONTROLLER_MEMORY].mountPoint != NULL &&
> > +                (i == VIR_CGROUP_CONTROLLER_MEMORY ||
> > +                 STREQ(group->controllers[i].mountPoint, group->controllers[VIR_CGROUP_CONTROLLER_MEMORY].mountPoint))) {
> > +                rc = virCgroupSetMemoryUseHierarchy(group);
> > +                if (rc != 0) {
> > +                    VIR_FREE(path);
> > +                    break;
> > +                }
> > +            }
> >         }
> >
> >         VIR_FREE(path);
> > @@ -553,7 +594,7 @@ static int virCgroupAppRoot(int privileged,
> >     if (rc != 0)
> >         goto cleanup;
> >
> > -    rc = virCgroupMakeGroup(rootgrp, *group, create);
> > +    rc = virCgroupMakeGroup(rootgrp, *group, create, 0);
> >
> >  cleanup:
> >     virCgroupFree(&rootgrp);
> > @@ -653,7 +694,7 @@ int virCgroupForDriver(const char *name,
> >     VIR_FREE(path);
> >
> >     if (rc == 0) {
> > -        rc = virCgroupMakeGroup(rootgrp, *group, create);
> > +        rc = virCgroupMakeGroup(rootgrp, *group, create, 0);
> >         if (rc != 0)
> >             virCgroupFree(group);
> >     }
> > @@ -703,7 +744,7 @@ int virCgroupForDomain(virCgroupPtr driver,
> >     VIR_FREE(path);
> >
> >     if (rc == 0) {
> > -        rc = virCgroupMakeGroup(driver, *group, create);
> > +        rc = virCgroupMakeGroup(driver, *group, create, 1);
> >         if (rc != 0)
> >             virCgroupFree(group);
> >     }
> 
> A comment on why Domains get hierarchy support and Drivers don't will
> help unless it is very obvious to developers.

We never need to query the cummulative usage for the driver as a whole,
only query individual VMs. So it would just be adding overhead to track
it


Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list