[Devel] Re: [PATCH 2/4] cgroup freezer: Avoid lazy state changes when convenient

Matt Helsley matthltc at us.ibm.com
Wed Jun 3 20:18:42 PDT 2009


On Wed, Jun 03, 2009 at 01:15:47PM -0500, Serge E. Hallyn wrote:
> Quoting Matt Helsley (matthltc at us.ibm.com):
> > On Wed, Jun 03, 2009 at 11:10:46AM -0500, Serge E. Hallyn wrote:
> > > Quoting Matt Helsley (matthltc at us.ibm.com):
> > > >  When all the tasks of a cgroup were successfully frozen we can avoid
> > > >  the lazy FREEZING -> FROZEN transition and move into FROZEN during the
> > > >  write to freezer.state.
> > > 
> > > Can you remind us then what the point of the FREEZING state is?
> > > It doesn't look to me like, after this patch, a cgroup will
> > > ever be FREEZING?
> > 
> > FREEZING is an intermediate state indicating that the cgroup is
> > partially frozen and, unless userspace retries, it will remain so. 
> 
> Oh, so basically a cgroup will be in CGROUP_FREEZING state only
> while try_to_freeze_cgroup() is looping over the tasks now?

Not quite. freeze_task() can fail because of vfork. If it fails we do
some additional checks to make sure it'll eventually be freezable. If so
then we know we missed one. That's when it stays in the FREEZING
state until the next time userspace writes FROZEN or THAWED to freezer.state.

Cheers,
	-Matt
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list