From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Menage Subject: Re: [PATCH 02/17] cgroup, rcu: convert call_rcu(free_cgroup_rcu) to kfree_rcu() Date: Tue, 15 Mar 2011 13:04:00 -0700 Message-ID: References: <4D7F3610.6000809@cn.fujitsu.com> <4D7F3784.6090307@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: Randy Dunlap , linux-decnet-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, Trond Myklebust , linux-sctp-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Pavel Emelyanov , "Pekka Savola \(ipv6\)" , Eric Dumazet , =?ISO-8859-1?Q?Uwe_Kleine=2DK=F6nig?= , Alexey Kuznetsov , Ingo Molnar , "Paul E. McKenney" , Sridhar Samudrala , Vlad Yasevich , Hagen Paul Pfeifer , "John W. Linville" , Al Viro , Jens Axboe , linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jiri Pirko , Hideaki YOSHIFUJI Return-path: In-Reply-To: <4D7F3784.6090307-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org List-Id: netdev.vger.kernel.org 2011/3/15 Lai Jiangshan : > > 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 Acked-by: Paul Menage > --- > =A0kernel/cgroup.c | =A0 =A09 +-------- > =A01 files changed, 1 insertions(+), 8 deletions(-) > > diff --git a/kernel/cgroup.c b/kernel/cgroup.c > index ad485d4..5c83c91 100644 > --- a/kernel/cgroup.c > +++ b/kernel/cgroup.c > @@ -806,13 +806,6 @@ static int cgroup_call_pre_destroy(struct cgroup *cg= rp) > =A0 =A0 =A0 =A0return ret; > =A0} > > -static void free_cgroup_rcu(struct rcu_head *obj) > -{ > - =A0 =A0 =A0 struct cgroup *cgrp =3D container_of(obj, struct cgroup, rc= u_head); > - > - =A0 =A0 =A0 kfree(cgrp); > -} > - > =A0static void cgroup_diput(struct dentry *dentry, struct inode *inode) > =A0{ > =A0 =A0 =A0 =A0/* is dentry a directory ? if so, kfree() associated cgrou= p */ > @@ -850,7 +843,7 @@ static void cgroup_diput(struct dentry *dentry, struc= t inode *inode) > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 */ > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0BUG_ON(!list_empty(&cgrp->pidlists)); > > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 call_rcu(&cgrp->rcu_head, free_cgroup_rcu); > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 kfree_rcu(cgrp, rcu_head); > =A0 =A0 =A0 =A0} > =A0 =A0 =A0 =A0iput(inode); > =A0} > -- > 1.7.4 >