lkml.org 
[lkml]   [2011]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH pm-freezer 1/4] cgroup_freezer: fix freezer->state setting bug in freezer_change_state()
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


\
 
 \ /
  Last update: 2011-09-02 04:53    [W:0.041 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site