Re: [PATCH 6/9] cgroup_freezer: make freezer->state mask of flags

From: Michal Hocko
Date: Thu Nov 08 2012 - 09:46:56 EST


On Thu 08-11-12 06:39:52, Tejun Heo wrote:
> Hello, Michal.
>
> On Thu, Nov 08, 2012 at 11:39:28AM +0100, Michal Hocko wrote:
> > On Sat 03-11-12 01:38:32, Tejun Heo wrote:
> > > freezer->state was an enum value - one of THAWED, FREEZING and FROZEN.
> > > As the scheduled full hierarchy support requires more than one
> > > freezing condition, switch it to mask of flags. If FREEZING is not
> > > set, it's thawed. FREEZING is set if freezing or frozen. If frozen,
> > > both FREEZING and FROZEN are set. Now that tasks can be attached to
> > > an already frozen cgroup, this also makes freezing condition checks
> > > more natural.
> > >
> > > This patch doesn't introduce any behavior change.
> > >
> > > Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> >
> > I think it would be nicer to use freezer_state_flags enum rather than
> > unsigned int for the state. I would even expect gcc to complain about
> > that but it looks like -fstrict-enums is c++ specific (so long enum
> > safety).
>
> But if you use it as flag bits, the resulting value no longer is
> inside the defined enum values. Isn't that weird?

Ahh, there is always CGROUP_FREEZER_ONLINE which would overcomplicate
the possible and valid masks.
Please ignore this...

--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/