lkml.org 
[lkml]   [2015]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectcpusets in non-unified hierarchy broken?
Hi,

as of some point in 3.18, cpuset.cpus doesn't seem to be
enforced any more. I don't see an obvious reason in the
code, but it seems likely to be related to the effective_cpus.

If I mount -t cgroup -o cpuset cpuset /mnt and then mkdir /mnt/lxc,
then /mnt/lxc has:

====================================================
ubuntu@cpuset1:~$ cat /mnt/lxc/cpuset.effective_cpus

ubuntu@cpuset1:~$ cat /mnt/lxc/cpuset.cpus
0-3
====================================================

while

====================================================
ubuntu@cpuset1:~$ cat /mnt/cpuset.effective_cpus
0-3
ubuntu@cpuset1:~$ cat /mnt/cpuset.cpus
0-3
====================================================

My understanding is that effective_cpus in /lxc should be
the /cpuset.effective_cpus & /lxc/cpuset.cpus. But that
doesn't seem to be the case. So then, when I start a
container confined to a single cpu (which will use cgroup
/lxc/c1, for instance) then it looks like:

====================================================
ubuntu@cpuset1:~$ cat /mnt/lxc/v1/cpuset.effective_cpus

ubuntu@cpuset1:~$ cat /mnt/lxc/v1/cpuset.cpus
1
====================================================

While the /proc/self/status inside that container and cgroup
shows:

====================================================
root@v1:~# grep -i cpu /proc/self/status
Cpus_allowed: f
Cpus_allowed_list: 0-3
====================================================

Christian, who originally found this and reported it at
https://github.com/lxc/lxc/issues/427 , also tested that in fact
the tasks are not confined (so it's not just an issue of
improper reporting, it seems)

thanks,
-serge


\
 
 \ /
  Last update: 2015-02-12 23:01    [W:0.056 / U:0.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site