> On Sept. 21, 2012, 3:23 a.m., Jie Yu wrote: > > Ben, I am just curious whether you have observed a case in which a retry is > > useful? > > > > From my experience, if a cgroup stucks at FREEZING state (e.g. some process > > is in T or Z state), writing FROZEN to retry never brings the state to > > FROZEN. > > > > If you do see a case that a retry is useful, let me know.
We've actually seen cases in which a process in the cgroup is still in R! It's possible that at the time the kernel could not freeze that process for whatever reason, and so retrying seems to be the only option (although, I hope that it's not the case that the process can never be frozen, which would seem like a pretty serious design issue). - Benjamin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/7203/#review11766 ----------------------------------------------------------- On Sept. 21, 2012, 2:02 a.m., Benjamin Hindman wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/7203/ > ----------------------------------------------------------- > > (Updated Sept. 21, 2012, 2:02 a.m.) > > > Review request for mesos, Vinod Kone, Brian Wickman, and Jie Yu. > > > Description > ------- > > See summary and > http://www.kernel.org/doc/Documentation/cgroups/freezer-subsystem.txt: > > It's important to note that freezing can be incomplete. In that case we return > EBUSY. This means that some tasks in the cgroup are busy doing something that > prevents us from completely freezing the cgroup at this time. After EBUSY, > the cgroup will remain partially frozen -- reflected by freezer.state > reporting > "FREEZING" when read. The state will remain "FREEZING" until one of these > things happens: > > 1) Userspace cancels the freezing operation by writing "THAWED" to > the freezer.state file > 2) Userspace retries the freezing operation by writing "FROZEN" to > the freezer.state file (writing "FREEZING" is not legal > and returns EINVAL) > 3) The tasks that blocked the cgroup from entering the "FROZEN" > state disappear from the cgroup's set of tasks. > > > Diffs > ----- > > src/linux/cgroups.cpp 4efd06e > > Diff: https://reviews.apache.org/r/7203/diff/ > > > Testing > ------- > > > Thanks, > > Benjamin Hindman > >
