list_del_rcu(9)
π NAME π
okay bestie, welcome to the list_del_rcu(9) page from the Kernel API Manual. short version: list_del_rcu deletes entry from list without re-initialization. that's the whole name vibe. periodt.
β¨ SYNOPSIS β¨
void list_del_rcu (struct list_head *entry );
π ARGUMENTS π
entryβ the element to delete from the list. yes queen, that's the one.
π¦ NOTE π¦
big note time, bestie, don't skip this:
list_emptyonentrydoes 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 list.
- The caller must take whatever precautions are necessary (such as holding appropriate locks) to avoid racing with another list-mutation primitive, such as
list_del_rcuorlist_add_rcu, running on this same list. However, it is perfectly legal to run concurrently with the_rculist-traversal primitives, such aslist_for_each_entry_rcu. - Note that the caller is not permitted to immediately free the newly deleted entry. Instead, either
synchronize_rcuorcall_rcumust be used to defer freeing until an RCU grace period has elapsed.
π SEE ALSO π
the kernel file is ./include/linux/rculist.h, and the whole link-up squad is:
list_for_each_rcu(9)list_tail_rcu(9)list_add_rcu(9)list_add_tail_rcu(9)list_bidir_del_rcu(9)hlist_del_init_rcu(9)list_replace_rcu(9)list_splice_rcu(9)__list_splice_init_rcu(9)list_splice_init_rcu(9)list_splice_tail_init_rcu(9)list_entry_rcu(9)list_first_or_null_rcu(9)list_next_or_null_rcu(9)list_for_each_entry_rcu(9)list_for_each_entry_srcu(9)list_entry_lockless(9)list_for_each_entry_lockless(9)list_for_each_entry_continue_rcu(9)list_for_each_entry_from_rcu(9)hlist_del_rcu(9)hlist_replace_rcu(9)hlists_swap_heads_rcu(9)hlist_add_head_rcu(9)hlist_add_tail_rcu(9)hlist_add_before_rcu(9)hlist_add_behind_rcu(9)hlist_for_each_entry_rcu(9)hlist_for_each_entry_srcu(9)hlist_for_each_entry_rcu_notrace(9)hlist_for_each_entry_rcu_bh(9)hlist_for_each_entry_continue_rcu(9)hlist_for_each_entry_continue_rcu_bh(9)hlist_for_each_entry_from_rcu(9)
signed off from the ./include/linux source/version, dated October 2026 β list_del_rcu(9) π«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms