Hello, Matt. On Thu, Sep 01, 2011 at 05:42:31PM -0700, Matt Helsley wrote: > > case CGROUP_FROZEN: > > - atomic_inc(&system_freezing_cnt); > > - retval = try_to_freeze_cgroup(cgroup, freezer); > > + if (freezer->state == CGROUP_THAWED) { > > + freezer->state = CGROUP_FREEZING; > > + atomic_inc(&system_freezing_cnt); > > + retval = try_to_freeze_cgroup(cgroup, freezer); > > This still doesn't look quite right. If the cgroup is FREEZING it should > also call try_to_freeze_cgroup(). I think this is what's needed: > > if (freezer->state == CGROUP_THAWED) > atomic_inc(&system_freezing_cnt); > freezer->state = CGROUP_FREEZING; > retval = try_to_freeze_cgroup(cgroup, freezer); Does this make any difference? Tasks can't migrate if the cgroups are freezing and freezing state is inherited through forks. But yeah doing that for both THAWED and FROZEN might still be a good idea for safety. Thanks. -- tejun _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm