| From: |
| menage@google.com |
| To: |
| kamezawa.hiroyu@jp.fujitsu.com, balbir@linux.vnet.ibm.com,
containers@lists.linux-foundation.org |
| Subject: |
| [RFC][PATCH 0/3] CGroups: CGroups: Hierarchy locking/refcount changes |
| Date: |
| Wed, 10 Dec 2008 15:36:54 -0800 |
| Message-ID: |
| <20081210233654.563182000@menage.corp.google.com> |
| Cc: |
| linux-kernel@vger.kernel.org, akpm@linux-foundation.org |
| Archive‑link: | |
Article |
These patches present an alternative to some of the other cgroups
locking/refcount patches that have been proposed on LKML recently.
Several of these patches have been to address the race opened by
moving the calls to pre_destroy() callbacks outside of cgroup_mutex;
rather than continuing to patch up the holes caused by that change,
these patches introduce new locking/refcount rules to ultimately allow
the previous atomicity of cgroup_rmdir() to be restored.
These three patches give:
1/3 - introduce a per-subsystem hierarchy_mutex which a subsystem can
use to prevent changes to its own cgroup tree
2/3 - use hierarchy_mutex in place of calling cgroup_lock() in the
memory controller
3/3 - introduce a css_tryget() function similar to the one proposed by
Kamezawa, but avoiding spurious refcount failures in the event
of a race between a css_tryget() and an unsuccessful cgroup_rmdir()
Future patches will likely involve:
- using hierarchy mutex in place of cgroup_lock() in more subsystems
where appropriate
- restoring the atomicity of cgroup_rmdir() with respect to cgroup_create()
Signed-off-by: Paul Menage <menage@google.com>