Messages in this thread | | | Date | Thu, 8 Nov 2012 15:47:00 +0100 | From | Michal Hocko <> | Subject | Re: [PATCH 6/9] cgroup_freezer: make freezer->state mask of flags |
| |
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@kernel.org> > > > > 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
| |