Messages in this thread | | | Date | Wed, 10 Dec 2008 16:44:51 -0800 | Subject | Re: [RFC][PATCH 1/3] CGroups: Add a per-subsystem hierarchy_mutex | From | Paul Menage <> |
| |
On Wed, Dec 10, 2008 at 4:37 PM, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote: >> +static void cgroup_unlock_hierarchy(struct cgroupfs_root *root) >> +{ >> + int i; >> + >> + for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) { >> + struct cgroup_subsys *ss = subsys[i]; >> + if (ss->root == root) >> + mutex_unlock(&ss->hierarchy_mutex); >> + } >> +} >> + > Maybe no problem..but I don't like releasing lock in the order of acquiring lock. > > for (i = CGROUP_SUBSYS_COUNT - 1; i >=0; i--) ?
The order that you release the locks is irrelevant for correctness. In this case, since the only callers of cgroup_lock_hierarchy() also hold cgroup_mutex and hence can't race with one another, the order of locking is irrelevant for correctness too - right now the locking order is just designed to keep lockdep happy.
I think that the reverse-ordered loop is less readable for no gain.
Paul
| |