> On June 11, 2016, 2:31 p.m., Qian Zhang wrote:
> > src/slave/containerizer/mesos/isolators/cgroups/cgroups.cpp, line 131
> > <https://reviews.apache.org/r/46158/diff/2/?file=1347650#file1347650line131>
> >
> >     I think there is a special case that we need to handle: In the OS using 
> > systemd (e.g., RHEL 7.1), `cpu` and `cpuacct` subsystems are co-mounted, 
> > like this:
> >     ```
> >     ls -la /sys/fs/cgroup/
> >     ...
> >     lrwxrwxrwx.  1 root root  11 Dec 28 15:12 cpu -> cpu,cpuacct
> >     lrwxrwxrwx.  1 root root  11 Dec 28 15:12 cpuacct -> cpu,cpuacct
> >     drwxr-xr-x.  4 root root   0 Jan  2 17:01 cpu,cpuacct
> >     ...
> >     ```
> >     That means in this `hierarchies` hashmap, the values of the two keys 
> > `cpu` and `cpuacct` are same (both of them are 
> > `/sys/fs/cgroup/cpu,cpuacct`), this will cause an issue in 
> > `CgroupsIsolatorProcess::prepare()`: In this method, we will call 
> > `prepareHierarchy()` which will check if the cgroup for the container to be 
> > creatd exists or not, if not, create the cgroup, if yes, return an Error. 
> > For the OS using systemd, I think we will always get the Error since for 
> > both `cpu` and `cpuacct` subsystems, we will try to create cgroup in the 
> > same location, i.e., `/sys/fs/cgroup/cpu,cpuacct/mesos/<containerID>`.
> >     
> >     You can take a look at the following code in the existing 
> > `CgroupsCpushareIsolatorProcess` class for how we handle this case. 
> > https://github.com/apache/mesos/blob/0.28.2/src/slave/containerizer/mesos/isolators/cgroups/cpushare.cpp#L94:L144

Because we use
```
foreach (const string& hierarchy, info->subsystems.keys()) {
```
this problem would not happen.

Suppose both `cpu` and `cpuacct` mount to `/sys/fs/cgroup/cpu,cpuacct`. The 
`info->subsystems.keys()` only have one `/sys/fs/cgroup/cpu,cpuacct` here.


- haosdent


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/46158/#review136998
-----------------------------------------------------------


On April 16, 2016, 10:14 a.m., haosdent huang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/46158/
> -----------------------------------------------------------
> 
> (Updated April 16, 2016, 10:14 a.m.)
> 
> 
> Review request for mesos, Gilbert Song, Guangya Liu, Ian Downes, Jie Yu, and 
> Kevin Klues.
> 
> 
> Bugs: MESOS-5041
>     https://issues.apache.org/jira/browse/MESOS-5041
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Completed implementation of the cgroups unified isolator.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/isolators/cgroups/cgroups.cpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/46158/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> haosdent huang
> 
>

Reply via email to