ip_vs_rht_walk_buckets_rcu(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ip_vs_rht_walk_buckets_rcu(9) β€” Kernel API Manual bestie era ✨

okay so this is the Kernel API Manual page for ip_vs_rht_walk_buckets_rcu(9), and we are literally about to walk all the buckets under an RCU read lock together 🫢 no cap.


🌸 NAME 🌸

ip_vs_rht_walk_buckets_rcu β€” walk all buckets under RCU read lock. That's the whole assignment bestie: buckets, RCU read lock, walking πŸ’….

πŸ¦‹ SYNOPSIS πŸ¦‹

ip_vs_rht_walk_buckets_rcu (table , head );

πŸŽ€ ARGUMENTS πŸŽ€

  • table β€” struct ip_vs_rht __rcu *table. That's the table getting walked, periodt.
  • head β€” bucket address, used as cursor, struct hlist_bl_head *var. It's giving cursor energy ✨.

πŸ’– DESCRIPTION πŸ’–

okay so the tea β˜•: this can be used while others add/delete/move entries. But bestie, it is not suitable if duplicates are not desired πŸ™ˆ.

Possible cases for reader that uses cond_resched_rcu in the loop:

  • new table can not be installed, no need to repeat
  • new table can be installed => check and repeat if new table is installed, needed for !PREEMPT_RCU

πŸ”₯ SEE ALSO πŸ”₯

The kernel file is ./include/net/ip_vs.h β€” go read it, iykyk πŸ‘‘


mwah πŸ’‹ β€” source ./include/net, dated October 2026, and the page tag is ip_vs_rht_walk_buckets_rcu(9). slay 🫢✨

πŸ“¦ where this page comes from