hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/include/linux/rculist_bl.h
....@@ -25,34 +25,6 @@
2525 }
2626
2727 /**
28
- * hlist_bl_del_init_rcu - deletes entry from hash list with re-initialization
29
- * @n: the element to delete from the hash list.
30
- *
31
- * Note: hlist_bl_unhashed() on the node returns true after this. It is
32
- * useful for RCU based read lockfree traversal if the writer side
33
- * must know if the list entry is still hashed or already unhashed.
34
- *
35
- * In particular, it means that we can not poison the forward pointers
36
- * that may still be used for walking the hash list and we can only
37
- * zero the pprev pointer so list_unhashed() will return true after
38
- * this.
39
- *
40
- * The caller must take whatever precautions are necessary (such as
41
- * holding appropriate locks) to avoid racing with another
42
- * list-mutation primitive, such as hlist_bl_add_head_rcu() or
43
- * hlist_bl_del_rcu(), running on this same list. However, it is
44
- * perfectly legal to run concurrently with the _rcu list-traversal
45
- * primitives, such as hlist_bl_for_each_entry_rcu().
46
- */
47
-static inline void hlist_bl_del_init_rcu(struct hlist_bl_node *n)
48
-{
49
- if (!hlist_bl_unhashed(n)) {
50
- __hlist_bl_del(n);
51
- n->pprev = NULL;
52
- }
53
-}
54
-
55
-/**
5628 * hlist_bl_del_rcu - deletes entry from hash list without re-initialization
5729 * @n: the element to delete from the hash list.
5830 *