← Back to team overview

kernel-packages team mailing list archive

Re: [Bug 1392176] Comment bridged from LTC Bugzilla


Quoting bugproxy (bugproxy@xxxxxxxxxx):
> ------- Comment From preeti.murthy@xxxxxxxxxx 2015-04-20 03:20 EDT-------
> Hi,
> We want cgroups to be mounted *without* the cpuset controller.
> >From your conversation I could make out the following:
> 1. LXC does not have a hard requirement on cpusets. But the challenge in not mounting
> cpusets would be to teach LXC to identify that all controllers may not be mounted when it
> requests for cgroups.
> 2. If LXC can identify this, when any container workload asks for cpusets, LXC must fail
> and ask the user to mount cpusets by himself.
> 3.  But the concern is about workloads that expect cpusets to be mounted implicitly.
> If this is the case, then this is clearly not the way forward.
> Is it possible to survey the existing workloads to verify this?

Implement the change and look for breakages :)

I'm still not convinced that we don't want to make the change only for
powerpc systemx - x86 systems AFAIK don't hotplug like drunken sailors.

> Because if there are no
> such workloads, mounting cgroups without cpusets is the simplest way to address
> the problem.
> Another approach is the right one, that being having a cgroup hotplug daemon,
> which listens on udev events for cpu hotplug operations and update the allowed
> cpus and mems mask. Such a daemon must be implemented by the service
> which mounts cgroups, which is systemd in this case ? This will take longer to implement ?

It'll require lots of discussion.  If it turns out that upstream is
happy with the feature, it could actually happen very quickly.

You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.

  mounts cgroups unconditionally which causes undesired effects with cpu

Status in cgmanager package in Ubuntu:
Status in linux package in Ubuntu:
Status in systemd package in Ubuntu:

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 
  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: