Provided by: linux-doc-2.6.15_2.6.15-23.39_all
hlist_del_rcu - deletes entry from hash list without re-initialization
void hlist_del_rcu (struct hlist_node * n);
n the element to delete from the hash list.
list_unhashed on entry does not return true after this, the entry is
in an undefined state. It is useful for RCU based lockfree traversal.
In particular, it means that we can not poison the forward pointers
that may still be used for walking the hash list.
The caller must take whatever precautions are necessary (such as
holding appropriate locks) to avoid racing with another list-mutation
primitive, such as hlist_add_head_rcu or hlist_del_rcu, running on this
same list. However, it is perfectly legal to run concurrently with the
_rcu list-traversal primitives, such as hlist_for_each_entry.