list_replace_rcu(9)
π NAME π
okay so bestie, welcome to list_replace_rcu(9) from the Kernel API Manual β this one is literally about replacing an old entry with a new one. slay.
β¨ SYNOPSIS β¨
void list_replace_rcu (struct list_head *old , struct list_head *new );
π«Ά ARGUMENTS π«Ά
oldβ the element to be replaced. sheβs getting swapped out, periodt.newβ the new element to insert. main character incoming π
π DESCRIPTION π
so hereβs the tea: the old entry gets replaced with the new entry atomically from the perspective of concurrent readers β¨. like, readers see the swap as one clean little moment.
and if there are concurrent updaters in the mix? synchronizing with them is the callerβs responsibility, fr fr. that part is on you, not the function. π
π¨ NOTE π¨
old should not be empty. thatβs the note. do not skip the vibe check, bestie.
π SEE ALSO π
Kernel file: ./include/linux/rculist.h
list_for_each_rcu(9)list_tail_rcu(9)list_add_rcu(9)list_add_tail_rcu(9)list_del_rcu(9)list_bidir_del_rcu(9)hlist_del_init_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)
byeee β this list_replace_rcu(9) page is sourced from ./include/linux and stamped October 2026. go replace responsibly ππ¦
π¦ 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