hlist_for_ea..._rcu_notrace(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ hlist_for_ea..._rcu_notrace(9) β€” Kernel API Manual πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ this one's about hlist_for_ea..._rcu_notrace and honestly? she's a niche icon and we stan πŸŽ€


🌸 NAME 🌸

hlist_for_each_entry_rcu_notrace β€” iterate over rcu list of given type (for tracing)

like yes, that's literally her whole job: walk an RCU list, but in a tracing-safe way πŸ¦‹


✨ SYNOPSIS ✨

hlist_for_each_entry_rcu_notrace (pos , head , member );

(the spacing is giving exactly what the original gives β€” do not touch it πŸ™ˆ)


🫢 ARGUMENTS 🫢

  • pos β€” the type * to use as a loop cursor. your little main-character pointer that walks the list πŸ’«
  • head β€” the head for your list. the starting point, the origin story πŸ‘‘
  • member β€” the name of the hlist_node within the struct. that's the field our girl looks at to keep moving 🌈

πŸ’– DESCRIPTION πŸ’–

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 rcu_read_lock.

⚠️ note that "as long as the traversal is guarded by rcu_read_lock" β€” that guard is not optional, bestie, it's the whole vibe check πŸ”₯ no lock, no safety, periodt.

This is the same as hlist_for_each_entry_rcu except that it does not do any RCU debugging or tracing.

so like… same girl, but she skipped the debugging-and-tracing accessories πŸ’… she's the lowkey version, fr fr. that's the entire difference, no cap.


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/rculist.h β€” and here's the whole friend group, all in (9), all iconic in their own way 🌸


🌟 ok that's the page!! sourced from ./include/linux, dated October 2026, filed under hlist_for_ea..._rcu_notrace(9) β€” mwah, go read your RCU docs responsibly bestie, ily, bye πŸ’œπŸŽ€βœ¨
πŸ“¦ where this page comes from