ice_for_each_vf_rcu(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ice_for_each_vf_rcu(9)

okay so bestie, this page lives in the Kernel API Manual, and it's here to explain the ice_for_each_vf_rcu iterator. It's giving β€œwalk the VF entries, but under RCU rules” energy. ✨


🌸 NAME 🌸

ice_for_each_vf_rcu β€” iterate over each VF entry protected by RCU.


πŸŽ€ SYNOPSIS πŸŽ€

ice_for_each_vf_rcu (pf , bkt , vf );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • pf β€” pointer to the PF private structure.
  • bkt β€” bucket index used for iteration.
  • vf β€” pointer to the VF entry currently being processed in the loop.

πŸ’– DESCRIPTION πŸ’–

The bkt variable is an unsigned integer iterator used to traverse the VF entries. It is not guaranteed to be the VF's vf_id. Do not assume it is. Use vf->vf_id to get the id number if needed.

The caller is expected to be under rcu_read_lock for the entire loop. Only use this iterator if your loop is short and you can guarantee it does not sleep.

bestie, this is a whole vibe check situation: short loop, no sleeping, rcu_read_lock held the whole time. no cap. πŸ’…

🌈 SEE ALSO 🌈


catch you later, bestie 🫢 β€” this iconic page comes from the source/version vibes of ./drivers/net/ethernet/intel/ice, October 2026, and it's literally ice_for_each_vf_rcu(9) πŸ’–βœ¨

πŸ“¦ where this page comes from