[systemd-devel] Question: who should set up the cpuset cgroup

Lennart Poettering lennart at poettering.net
Tue Sep 17 09:56:43 PDT 2013

On Tue, 17.09.13 17:45, Lennart Poettering (lennart at poettering.net) wrote:

> > 1, set up when systemd creates cpuset cgroup for machine.slice?
> > 2, the programs which create the machines?
> > 3, other ideas? kernel?
> I have the suspicion that we need to propagate this down from the root
> of the hierarchy as soon as a leaf sets a cpu set.
> Let's say the root has enabled all cpus (which is the default after
> all), and you enable only a subset for a leaf 2 levels down, but do not
> specify anything for the slice that is in the middle, then the cpuset of
> the root should be propagated down.
> Consider this hierarchy:
>             -.slice 
>            /       \
>           /         \
> machine.slice    systemd.slice
>          |
>          |
> machine-customer1.slice
>          |
>          |
>      a.scope
> If a.scope gets a cpuset assigned, and neither machine.slice nor
> machine-customer1.slice have any, then the cpuset of -.slice should be
> inherited into machine.slice and then further into
> machine-customer1.slice, if you follow what I mean?

So I talked to Tejun about this too, and he said that cpuset is too
broken in the kernel for us to wrap it right now in systemd. As soon as
the kernel is fixed it will provide a proper propagation logic in the
kernel natively anyway, so we shouldn't bother with this in userspace.


Lennart Poettering - Red Hat, Inc.

More information about the systemd-devel mailing list