ice_for_each_vf_rcu(9)
π 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 π
- Kernel file
./drivers/net/ethernet/intel/ice/ice_vf_lib.h ice_for_each_vf(9)
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
- 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