[systemd-devel] regarding to cgroup siblings mask

WaLyong Cho walyong.cho at samsung.com
Wed Apr 8 22:10:11 PDT 2015


On 2015년 04월 09일 01:48, Lennart Poettering wrote:
> On Tue, 24.03.15 20:29, WaLyong Cho (walyong.cho at samsung.com) wrote:
> 
>> Hi,
>>
>> In recent systemd(from some month ago), when a unit has a mask for cpu
>> or blockio or memory, this mask is also propagated to siblings by
>> unit_get_target_mask().
>> According to some of comments, it seems intentional.
>>
>> Could anyone explain why?
> 
> I added this after talking to Tejun. It's basically what the kernel
> will effectively do in "sane behaviour" mode too.
> 
> Basically, the kernel really wants to avoid having to compare
> individual processes against groups, because behaviour is unclear
> then. They want to comapre groups against groups and processes against
> processes, but not groups against processes, since in many cases
> behaviour is very unclear then. To avoid the ambighities this creates
> entirely the answer is to not allow this, and hence always propagate
> all controller memberships not only towards the root, but also sideways.

OK, understood but I'm not sure the compare group properties came under
for all of cgroup subsystem. In case of CPUShares=, BlockIOWeight= such
like take weight as value, should be. But in case of CPUQuota=,
MemoryLimit=, it just a problems of own. Those are not racing with other
groups. So for this kind of properties do not need to be propagated to
siblings.

I'm not sure this make sense. But if yes, below patch will only
propagate proportional or relative properties.
http://lists.freedesktop.org/archives/systemd-devel/2015-March/029885.html


Thanks,
WaLyong


More information about the systemd-devel mailing list