Эх сурвалжийг харах

libceph: using kfree_rcu() to simplify the code

The callback function of call_rcu() just calls a kfree(), so we
can use kfree_rcu() instead of call_rcu() + callback function.

Signed-off-by: Wei Yongjun <weiyj.lk@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Wei Yongjun 9 жил өмнө
parent
commit
864364a29c

+ 1 - 7
net/ceph/string_table.c

@@ -84,12 +84,6 @@ retry:
 }
 }
 EXPORT_SYMBOL(ceph_find_or_create_string);
 EXPORT_SYMBOL(ceph_find_or_create_string);
 
 
-static void ceph_free_string(struct rcu_head *head)
-{
-	struct ceph_string *cs = container_of(head, struct ceph_string, rcu);
-	kfree(cs);
-}
-
 void ceph_release_string(struct kref *ref)
 void ceph_release_string(struct kref *ref)
 {
 {
 	struct ceph_string *cs = container_of(ref, struct ceph_string, kref);
 	struct ceph_string *cs = container_of(ref, struct ceph_string, kref);
@@ -101,7 +95,7 @@ void ceph_release_string(struct kref *ref)
 	}
 	}
 	spin_unlock(&string_tree_lock);
 	spin_unlock(&string_tree_lock);
 
 
-	call_rcu(&cs->rcu, ceph_free_string);
+	kfree_rcu(cs, rcu);
 }
 }
 EXPORT_SYMBOL(ceph_release_string);
 EXPORT_SYMBOL(ceph_release_string);