list_add_tail_rcu(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… list_add_tail_rcu(9) β€” Kernel API Manual πŸ’…

okay bestie, this is the Kernel API Manual page for list_add_tail_rcu(9), and it’s honestly giving β€œquietly essential list girlie” energy. no cap, she’s useful. πŸŽ€


πŸŽ€ NAME πŸŽ€

list_add_tail_rcu β€” add a new entry to rcu-protected list ✨


🌸 SYNOPSIS 🌸

void list_add_tail_rcu (struct list_head *new , struct list_head *head
);

🫢 ARGUMENTS 🫢

  • new β€” the new entry to be added, aka the fresh little node sliding into the list πŸ’–
  • head β€” the list head to add it before, literally the spot it gets inserted ahead of πŸ’…

🌈 DESCRIPTION 🌈

Insert a new entry before the specified head. This is useful for implementing queues β€” yes, queue behavior, we love to see it πŸ”₯.

The caller must take whatever precautions are necessary (such as holding appropriate locks) to avoid racing with another list-mutation primitive, such as list_add_tail_rcu or list_del_rcu, running on this same list. Like, do not skip the safety prep, bestie 😭. However, it is perfectly legal to run concurrently with the _rcu list-traversal primitives, such as list_for_each_entry_rcu. That part is slay and allowed πŸ’œ.

⚠️ tiny but important vibe check: the caller still has to take whatever precautions are necessary β€” such as holding appropriate locks β€” so another list-mutation primitive like list_add_tail_rcu or list_del_rcu doesn’t race with this same list.

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/rculist.h β€” and here’s the whole friend group, no one left out 🫢:


signed off with πŸ’– from ./include/linux, dated October 2026, for list_add_tail_rcu(9) β€” periodt, go add that tail entry responsibly 🫢✨

πŸ“¦ where this page comes from