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

From: Tejun Heo
Date: Thu Nov 08 2012 - 09:39:49 EST


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?

Thanks.

--
tejun
--
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/