From b119cbab3aecd19dbd748a9823c02d200b96b2f8 Mon Sep 17 00:00:00 2001 From: Lai Jiangshan Date: Fri, 18 Mar 2011 11:59:14 +0800 Subject: md,rcu: Convert call_rcu(free_conf) to kfree_rcu() The rcu callback free_conf() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(free_conf). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Acked-by: NeilBrown Reviewed-by: Josh Triplett --- drivers/md/linear.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'drivers') diff --git a/drivers/md/linear.c b/drivers/md/linear.c index abfb59a61ede..6cd2c313e800 100644 --- a/drivers/md/linear.c +++ b/drivers/md/linear.c @@ -213,12 +213,6 @@ static int linear_run (mddev_t *mddev) return md_integrity_register(mddev); } -static void free_conf(struct rcu_head *head) -{ - linear_conf_t *conf = container_of(head, linear_conf_t, rcu); - kfree(conf); -} - static int linear_add(mddev_t *mddev, mdk_rdev_t *rdev) { /* Adding a drive to a linear array allows the array to grow. @@ -247,7 +241,7 @@ static int linear_add(mddev_t *mddev, mdk_rdev_t *rdev) md_set_array_sectors(mddev, linear_size(mddev, 0, 0)); set_capacity(mddev->gendisk, mddev->array_sectors); revalidate_disk(mddev->gendisk); - call_rcu(&oldconf->rcu, free_conf); + kfree_rcu(oldconf, rcu); return 0; } -- cgit v1.2.3 From 8497a24a43374f0142335b0ef0614ccc459e3d8d Mon Sep 17 00:00:00 2001 From: Lai Jiangshan Date: Fri, 18 Mar 2011 11:41:14 +0800 Subject: scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu() The rcu callback fc_rport_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(fc_rport_free_rcu). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: Robert Love Cc: "James E.J. Bottomley" Reviewed-by: Josh Triplett --- drivers/scsi/libfc/fc_rport.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) (limited to 'drivers') diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c index 49e1ccca09d5..01e13a2eb93a 100644 --- a/drivers/scsi/libfc/fc_rport.c +++ b/drivers/scsi/libfc/fc_rport.c @@ -152,18 +152,6 @@ static struct fc_rport_priv *fc_rport_create(struct fc_lport *lport, return rdata; } -/** - * fc_rport_free_rcu() - Free a remote port - * @rcu: The rcu_head structure inside the remote port - */ -static void fc_rport_free_rcu(struct rcu_head *rcu) -{ - struct fc_rport_priv *rdata; - - rdata = container_of(rcu, struct fc_rport_priv, rcu); - kfree(rdata); -} - /** * fc_rport_destroy() - Free a remote port after last reference is released * @kref: The remote port's kref @@ -173,7 +161,7 @@ static void fc_rport_destroy(struct kref *kref) struct fc_rport_priv *rdata; rdata = container_of(kref, struct fc_rport_priv, kref); - call_rcu(&rdata->rcu, fc_rport_free_rcu); + kfree_rcu(rdata, rcu); } /** -- cgit v1.2.3