hlist_for_ea..._rcu_notrace(9)
π 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β thetype *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 thehlist_nodewithin 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 πΈ
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_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_bh(9)hlist_for_each_entry_continue_rcu(9)hlist_for_each_entry_continue_rcu_bh(9)hlist_for_each_entry_from_rcu(9)
π ok that's the page!! sourced from./include/linux, dated October 2026, filed underhlist_for_ea..._rcu_notrace(9)β mwah, go read your RCU docs responsibly bestie, ily, bye ππβ¨
π¦ 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