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

Gao feng gaofeng at cn.fujitsu.com
Sun Sep 22 18:21:55 PDT 2013


On 09/18/2013 12:56 AM, Lennart Poettering wrote:
> 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.
> 

Glad to hear this. :)
Thanks!



More information about the systemd-devel mailing list