hlist_for_each_entry_srcu(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… hlist_for_each_entry_srcu(9) πŸ’…

okay bestie, welcome to the Kernel API Manual page for hlist_for_each_entry_srcu(9) β€” literally the move for iterating over an rcu list of a given type. no cap. ✨

🌸 NAME 🌸

hlist_for_each_entry_srcu β€” iterate over rcu list of given type

✨ SYNOPSIS ✨

hlist_for_each_entry_srcu (pos , head , member , cond );

πŸŽ€ ARGUMENTS πŸŽ€

  • pos β€” the type * to use as a loop cursor. main-character pointer energy, fr.
  • head β€” the head for your list. yes bestie, the actual head.
  • member β€” the name of the hlist_node within the struct.
  • cond β€” lockdep expression for the lock required to traverse the list. it's giving safety vibe check.

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea: this list-traversal primitive may safely run concurrently with the _rcu list-mutation primitives such as hlist_add_head_rcu as long as the traversal is guarded by srcu_read_lock. that's the whole vibe. and the lockdep expression srcu_read_lock_held can be passed as the cond argument from the read side. slay. πŸ’…

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./include/linux/rculist.h β€” the whole squad:


this cutie comes from ./include/linux, dated October 2026, and it's the hlist_for_each_entry_srcu(9) page. bye bestie, go iterate safely πŸ’–βœ¨πŸ«Ά

πŸ“¦ where this page comes from