kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #113485
Re: [Bug 1392176] Re: mounts cgroups unconditionally which causes undesired effects with cpu hotplug
Quoting Martin Pitt (martin.pitt@xxxxxxxxxx):
> Serge Hallyn [2015-04-17 17:49 -0000]:
> > Cpusets are not *required* for lxc. Perhaps we should in fact default
> > to only providing name=systemd, devices and freezer cgroups for users?
> > We'd want to very widely advertise how to enable other cgroups.
>
> Right, I mostly understood it so that we need to create all those
> controllers in the host that the container workload can *potentially*
> use all these cgroups as well, not that they are inherently required.
>
> > Currently lxc would fail this way, but we could teach it to ignore
> > inability to create cgroups which aren't required. (This isn't as
> > simple as it seems, since using the keyword "all" for controllers
> > would no longer work, but it's doable)
>
> "all" could still try to join all controllers, but ignore the ones it
> doesn't have permissions for?
>
> Maybe also (1) a new weak version of "all" which implements that
> behaviour, or (2) a new strong version which will fail if it cannot
> join any controller. TBH I don't know which way around would break
> backwards compat less: (1) requires changing all existing container
> configs on upgrade once we stop putting the user session into all
> controllers, and (2) might break existing container workloads which
> actually expect the dropped controllers.
>
> My gut feeling is that (2) is the better option.
I agree. (the same will be needed for create)
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1392176
Title:
mounts cgroups unconditionally which causes undesired effects with cpu
hotplug
Status in cgmanager package in Ubuntu:
Confirmed
Status in linux package in Ubuntu:
Confirmed
Status in systemd package in Ubuntu:
Incomplete
Bug description:
== Comment: #0 - Preeti U. Murthy <preeti.murthy@xxxxxxxxxx> - 2014-10-20 04:40:12 ==
---Problem Description---
Systemd mounts cgroups explicitly every boot. Since the user had no say in it, undesired consequences are observed in reaction to cpu hotplug operations. Here is how.
Systemd moves the tasks to the cgroup mounted by it. This cgroup automatically becomes the child of the root cgroup which is present by default. The children cgroups are not expected to remember their configured cpusets after hotplug operations in the kernel. Hence when cpus are taken offline and brought back online they are no longer used for load balancing of tasks and hence remain unused.
This is an undesired consequence because the user had not even asked for cgroups to be mounted, yet is not able to use the full capacity of the system.
Only when the user himself creates cgroup hierarchies, should he be
exposed to the side effects of cpu hotplug on cpusets. Else all online
cpus must be made available to him which is not happening since
systemd mounts cgroups on every boot.
Hence please revert this feature or provide an explaination as to why this is being done.
---uname output---
Linux tul181p1 3.16.0-18-generic #25-Ubuntu SMP Fri Sep 26 02:39:53 UTC 2014 ppc64le ppc64le ppc64le GNU/Linux
Machine Type = Tuleta 8286-42A
---Debugger---
A debugger was configured, however the system did not enter into the debugger
---Steps to Reproduce---
$ taskset -p $$
$ 0-127
$ echo 0 > /sys/devices/system/cpu/cpu7/online
$ taskset -p $$
$ 0-6,8-127
$ echo 1 > /sys/devices/system/cpu/cpu7/online
$ taskset -p $$
$ 0-6,8-127
Userspace tool common name: systemd
The userspace tool has the following bit modes: 64-bit
Userspace rpm: systemd_208-8ubuntu8_ppc64el.deb
Userspace tool obtained from project website: 208-8ubuntu8
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cgmanager/+bug/1392176/+subscriptions
References