hlist_bl_for...continue_rcu(9)
π hlist_bl_for...continue_rcu(9) π
okay bestie, this one is straight from the Kernel API Manual, and it's literally the βkeep the list walk going after this nodeβ macro. No cap, the whole vibe is: you already have a position, now continue from there. β¨
πΈ NAME πΈ
hlist_bl_for_each_entry_continue_rcu β continue iteration over list of given type. that's the assignment, bestie: keep iterating, but continue from where you already are. π«Ά
β¨ SYNOPSIS β¨
okay so the signature is exactly:
hlist_bl_for_each_entry_continue_rcu (tpos , pos , member );
π ARGUMENTS π
tposβ thetype *to use as a loop cursor. this is your βwhat am I iterating asβ cursor, periodt.posβ thestruct hlist_bl_nodeto use as a loop cursor. the actual node cursor, lowkey the main character here.memberβ the name of thehlist_bl_nodewithin the struct. iykyk, it's the member name that lets the macro find the node inside your bigger struct.
π¦ DESCRIPTION π¦
so this continues iterating over a list of the given type, continuing after the current position β and that current position must have been in the list when the RCU read lock was taken. not optional, bestie. π¨
β οΈ the current position must have been in the list when the RCU read lock was taken. this is the whole vibe check for this macro.
typically that means you need either:
- you obtained the node from a previous walk of the list in the same RCU read-side critical section, or
- you held some sort of non-RCU reference (such as a reference count) to keep the node alive and in the list.
both of those are giving βplease keep this node validβ energy. fr fr π§
π SEE ALSO π
Kernel file ./include/linux/rculist_bl.h, plus these iconic neighbors:
xoxo, your Unix bestie π β source/version: ./include/linux; date: October 2026; page: hlist_bl_for...continue_rcu(9). periodt. π
π¦ 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