You have been subscribed to a public bug:

---Problem Description---
docker: cpuset resouce allocaton on a container shows/lists all CPU of VM host
 
---uname output---
root@8a2d293ba30d:/sys# uname -a Linux 8a2d293ba30d 3.19.0-7-generic #7-Ubuntu 
SMP Fri Feb 27 00:26:30 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux
 
Machine Type = Power 8 / PowerKVM 
 
---Steps to Reproduce---
1 - Install docker 1.4 developer build on PowerKVM Ubuntu 15.04 LE geust
ftp://ftp.unicamp.br/pub/linuxpatch/docker-ppc64/ubuntu/14_10/docker.io-1.4.1-dev_ppc64el.deb

2 - Create vivid image using debootstrap

3 - Run a container using below command with cpuset=6,7

root@dockerbase:~# docker run -it --cpuset=6,7 vivid-cpuset-stress
/bin/bash

4 - Inside container check for : grep processor /proc/cpuinfo
root@06b22766d612:/# grep processor /proc/cpuinfo
processor       : 0
processor       : 1
processor       : 2
processor       : 3
processor       : 4
processor       : 5
processor       : 6
processor       : 7
processor       : 8
processor       : 9
processor       : 10
processor       : 11
processor       : 12
processor       : 13
processor       : 14
processor       : 15
root@06b22766d612:/# 

It does list all CPUs of guest VM aka host in this case instead expected
6,7 cpu to be bound to this container.

At host end "cpuset" :
root@dockerbase:~# cat 
/sys/fs/cgroup/cpuset/docker/06b22766d61244fc5964d2a11bb0972d05ad72bb5899b6f55663c603bf5d6cba/cpuset.cpus
 
6-7

Nish, AFAIK, effective cpus was relevant only for unified hierarchy...
they used to set effective_cpus= cpuset.cpus .. but will investigate
more on this..

Uh, I think this got fixed upstream, can we check? Maybe build an Ubuntu
test kernel (this should get auto-pulled in in some future build, due to
-stable):

79063bffc81f82689bd90e16da1b49408f3bf095 ("cpuset: fix a warning when
clearing configured masks in old hierarchy").

-Nish

I did some more investigation and as Nish pointed there were some bugs
that got fixed in upstream.

Root cause: cgroup.clone_children was not handled properly. the bug appears 
when we have
cgroup.clone_children=1

if we set 0 to clone_children it should work properly.
so better if we backport below patch (if not already to fix the current problem)


1. 790317e1b266c776765a4bdcedefea706ff0fada: cpuset: initialize effective masks 
when clone_children is enabled
2. 79063bffc81f82689bd90e16da1b49408f3bf095 ("cpuset: fix a warning when 
clearing configured masks in old hierarchy"). (Nish pointed this patch)

Canonical,

both the above patches are targetted for 3.19-stable (in fact 3.17+),
but given the possible miss on schedule between the upstream 3.19-stable
releases and 15.04 kernel freeze, can we please manually include them
until they are present in -stable? Without the changes, the cpuset
cgroups are rather broken.

-Nish

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: architecture-all bugnameltc-122528 severity-medium 
targetmilestone-inin---
-- 
docker: docker run --cpuset is not having any effect
https://bugs.launchpad.net/bugs/1435571
You received this bug notification because you are a member of Kernel Packages, 
which is subscribed to linux in Ubuntu.

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to