Re: [PATCHSET cgroup/for-3.8] cgroup_freezer: allow migration regardless of freezer state and update locking
From: Rafael J. Wysocki
Date: Fri Oct 19 2012 - 12:50:48 EST
On Tuesday 16 of October 2012 15:28:39 Tejun Heo wrote:
> This patchset updates cgroup_freezer so that
> * Unfreezable kernel tasks don't prevent a cgroup from transitioning
> into FROZEN from FREEZING. There's nothing userland can do with or
> about such tasks.
> * Tasks can be moved in and out of a frozen cgroup. Tasks are made to
> conform to the state of the new cgroup during migration. This
> behavior makes a lot more sense and removes the use of
> ->can_attach() which makes co-mounting difficult.
> * Remove use of cgroup_lock_live_group(). Grabbing cgroup_lock from
> outside cgroup proper creates a painful locking dependency and is
> being phased out. With the above behavior change, removing
> dependency on cgroup_lock is pretty easy. IMHO, it was simply the
> wrong behavior to implement which forced the wrong implementation.
> This patchset contains the following seven patches.
> 0001 is a fix for a rather embarrassing bug in cgroup core. It does
> things in the wrong order leaving a window for racing during fork.
> 0002 adds a missing mb() around freezing condition updates / checks.
> 0003-0004 make cgroup_freezer ignore unfreezable kernel tasks and
> handle PF_FREEZER_SKIP correctly.
> 0005 allows migrating tasks in and out of a frozen cgroup.
> 0006-0007 remove the use of cgroup_lock_live_group().
> This patchset is on top of v3.7-rc1 and available in the following git
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup_freezer-locking
It seems that no one has any comments. :-)
Are you going to prepare a branch for me to pull from?
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
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/