[lxc-devel] [lxc/lxc] 000dfd: utils: add lxc_append_string()

GitHub noreply at github.com
Mon Nov 14 19:53:58 UTC 2016


  Branch: refs/heads/master
  Home:   https://github.com/lxc/lxc
  Commit: 000dfda7f34171fc0596c0aa47dac3d0cc8d3bbc
      https://github.com/lxc/lxc/commit/000dfda7f34171fc0596c0aa47dac3d0cc8d3bbc
  Author: Christian Brauner <christian.brauner at canonical.com>
  Date:   2016-11-09 (Wed, 09 Nov 2016)

  Changed paths:
    M src/lxc/utils.c
    M src/lxc/utils.h

  Log Message:
  -----------
  utils: add lxc_append_string()

lxc_append_string() appends strings without separator. This is mostly useful
for reading in whole files line-by-line.

Signed-off-by: Christian Brauner <christian.brauner at canonical.com>


  Commit: a54694f86dcf59fe514dbf2c505c1d7090d0d17d
      https://github.com/lxc/lxc/commit/a54694f86dcf59fe514dbf2c505c1d7090d0d17d
  Author: Christian Brauner <christian.brauner at canonical.com>
  Date:   2016-11-09 (Wed, 09 Nov 2016)

  Changed paths:
    M src/lxc/cgroups/cgfsng.c
    M src/lxc/utils.c

  Log Message:
  -----------
  cgroups: remove isolated cpus from cpuset.cpus

In case the system was booted with

    isolcpus=n_i-n_j,n_k,n_m

we cannot simply copy the cpuset.cpus file from our parent cgroup. For example,
in the root cgroup cpuset.cpus will contain all of the cpus including the
isolated cpus. Copying the values of the root cgroup into a child cgroup will
lead to a wrong view in /proc/self/status: For the root cgroup
/sys/fs/cgroup/cpuset /proc/self/status will correctly show

    Cpus_allowed_list:      0-1,3

even though cpuset.cpus will show

    0-3

However, initializing a subcgroup in the cpuset controller by copying the
cpuset.cpus setting from the root cgroup will cause /proc/self/status to
incorrectly show

    Cpus_allowed_list:      0-3

Hence, we need to make sure to remove the isolated cpus from cpuset.cpus. Seth
has argued that this is not a kernel bug but by design. So let us be the smart
guys and fix this in liblxc.

The solution is straightforward: To avoid having to work with raw cpulist
strings we create cpumasks based on uint32_t bit arrays.

Signed-off-by: Christian Brauner <christian.brauner at canonical.com>


  Commit: 748c52b52c6fe5dd09aba2d5291622f605c6e2c8
      https://github.com/lxc/lxc/commit/748c52b52c6fe5dd09aba2d5291622f605c6e2c8
  Author: Serge Hallyn <serge at hallyn.com>
  Date:   2016-11-14 (Mon, 14 Nov 2016)

  Changed paths:
    M src/lxc/cgroups/cgfsng.c
    M src/lxc/utils.c
    M src/lxc/utils.h

  Log Message:
  -----------
  Merge pull request #1282 from brauner/2016-11-03/isolcpus

cgroups: remove isolated cpus from cpuset.cpus  …


Compare: https://github.com/lxc/lxc/compare/5b40ec9292d3...748c52b52c6f


More information about the lxc-devel mailing list