diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2011-03-15 05:55:16 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-05-08 01:50:46 -0400 |
commit | f2da1c40dc003939f616f27a103b2592f1424b07 (patch) | |
tree | a34d091b5652a7605269cff58b9e259dc94198a7 | |
parent | 30088ad815802f850f26114920ccf9effd4bc520 (diff) |
cgroup,rcu: convert call_rcu(free_cgroup_rcu) to kfree_rcu()
The rcu callback free_cgroup_rcu() just calls a kfree(),
so we use kfree_rcu() instead of the call_rcu(free_cgroup_rcu).
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Paul Menage <menage@google.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
-rw-r--r-- | kernel/cgroup.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index d5160a83fb35..20451ce7195f 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
@@ -806,13 +806,6 @@ static int cgroup_call_pre_destroy(struct cgroup *cgrp) | |||
806 | return ret; | 806 | return ret; |
807 | } | 807 | } |
808 | 808 | ||
809 | static void free_cgroup_rcu(struct rcu_head *obj) | ||
810 | { | ||
811 | struct cgroup *cgrp = container_of(obj, struct cgroup, rcu_head); | ||
812 | |||
813 | kfree(cgrp); | ||
814 | } | ||
815 | |||
816 | static void cgroup_diput(struct dentry *dentry, struct inode *inode) | 809 | static void cgroup_diput(struct dentry *dentry, struct inode *inode) |
817 | { | 810 | { |
818 | /* is dentry a directory ? if so, kfree() associated cgroup */ | 811 | /* is dentry a directory ? if so, kfree() associated cgroup */ |
@@ -850,7 +843,7 @@ static void cgroup_diput(struct dentry *dentry, struct inode *inode) | |||
850 | */ | 843 | */ |
851 | BUG_ON(!list_empty(&cgrp->pidlists)); | 844 | BUG_ON(!list_empty(&cgrp->pidlists)); |
852 | 845 | ||
853 | call_rcu(&cgrp->rcu_head, free_cgroup_rcu); | 846 | kfree_rcu(cgrp, rcu_head); |
854 | } | 847 | } |
855 | iput(inode); | 848 | iput(inode); |
856 | } | 849 | } |