From: Paul E. McKenney Date: Sat, 7 Jan 2012 01:02:13 +0000 (-0800) Subject: tcm_fc: Convert call_rcu() to kfree_rcu(), drop ft_tport_rcu_free() X-Git-Tag: v3.4-rc1~194^2^2~40 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=a6c76da8f8b4549ccec7425ba94d8395d68a2e56;p=linux.git tcm_fc: Convert call_rcu() to kfree_rcu(), drop ft_tport_rcu_free() The call_rcu() in ft_tport_delete() invokes ft_tport_rcu_free(), which just does a kfree(). So convert the call_rcu() to kfree_rcu(), allowing ft_tport_rcu_free() to be eliminated. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Cc: "Nicholas A. Bellinger" Cc: Jiri Kosina Cc: Jesper Juhl Cc: linux-scsi@vger.kernel.org Cc: target-devel@vger.kernel.org --- diff --git a/drivers/target/tcm_fc/tfc_sess.c b/drivers/target/tcm_fc/tfc_sess.c index 4c0507cf808c..eff512b5a2a0 100644 --- a/drivers/target/tcm_fc/tfc_sess.c +++ b/drivers/target/tcm_fc/tfc_sess.c @@ -85,16 +85,6 @@ static struct ft_tport *ft_tport_create(struct fc_lport *lport) return tport; } -/* - * Free tport via RCU. - */ -static void ft_tport_rcu_free(struct rcu_head *rcu) -{ - struct ft_tport *tport = container_of(rcu, struct ft_tport, rcu); - - kfree(tport); -} - /* * Delete a target local port. * Caller holds ft_lport_lock. @@ -114,7 +104,7 @@ static void ft_tport_delete(struct ft_tport *tport) tpg->tport = NULL; tport->tpg = NULL; } - call_rcu(&tport->rcu, ft_tport_rcu_free); + kfree_rcu(tport, rcu); } /*