drm_gpuvm_for_each_va_safe(9)
๐
drm_gpuvm_for_each_va_safe(9) โ Kernel API Manual โจ
okay bestie, welcome to the Kernel API Manual corner of the group chat ๐ซถ this one is a whole iterator vibe and honestly itโs giving โresponsible friend who checks the exits before the partyโ ๐ฅ
๐ธ NAME ๐ธ
drm_gpuvm_for_each_va_safe โ safely iterate over all &drm_gpuvas ๐
โจ SYNOPSIS โจ
drm_gpuvm_for_each_va_safe (va__ , next__ , gpuvm__ );
๐ ARGUMENTS ๐
va__โ thedrm_gpuvayou assign to in each iteration step ๐next__โ anotherdrm_gpuva, just hanging out as temporary storage ๐gpuvm__โ thedrm_gpuvmyouโre walking over ๐ฆ
๐ซ DESCRIPTION ๐ซ
okay so this iterator walks over all the drm_gpuva structures associated with the given drm_gpuvm. literally all of them, no cap ๐
itโs implemented with list_for_each_entry_safe, and hence safe against the removal of elements ๐ญ๐ฅ so yes bestie, you can remove stuff while youโre iterating and itโs not gonna have a main character meltdown. iconic behavior fr fr โจ
๐ฎ SEE ALSO ๐ฎ
Kernel file ./include/drm/drm_gpuvm.h โ and the whole extended universe is here, bestie, weโre not skipping a single one ๐ซถ
enum drm_gpuva_flags(9)struct drm_gpuva(9)drm_gpuva_invalidate(9)drm_gpuva_invalidated(9)enum drm_gpuvm_flags(9)struct drm_gpuvm(9)drm_gpuvm_get(9)drm_gpuvm_resv_protected(9)drm_gpuvm_immediate_mode(9)drm_gpuvm_resv(9)drm_gpuvm_resv_obj(9)drm_gpuvm_is_extobj(9)drm_gpuvm_for_each_va_range(9)drm_gpuvm_for_each_va_range_safe(9)drm_gpuvm_for_each_va(9)struct drm_gpuvm_exec(9)drm_gpuvm_exec_unlock(9)drm_gpuvm_exec_resv_add_fence(9)drm_gpuvm_exec_validate(9)struct drm_gpuvm_bo(9)drm_gpuvm_bo_get(9)drm_gpuvm_bo_gem_evict(9)drm_gpuvm_bo_for_each_va(9)drm_gpuvm_bo_for_each_va_safe(9)enum drm_gpuva_op_type(9)struct drm_gpuva_op_map(9)struct drm_gpuva_op_unmap(9)struct drm_gpuva_op_remap(9)struct drm_gpuva_op_prefetch(9)struct drm_gpuva_op(9)struct drm_gpuva_ops(9)drm_gpuva_for_each_op(9)drm_gpuva_for_each_op_safe(9)drm_gpuva_for_each_op_from_reverse(9)drm_gpuva_for_each_op_reverse(9)drm_gpuva_first_op(9)drm_gpuva_last_op(9)drm_gpuva_prev_op(9)drm_gpuva_next_op(9)struct drm_gpuvm_map_req(9)struct drm_gpuvm_ops(9)drm_gpuva_op_remap_to_unmap_range(9)
and thatโs the page, bestie ๐ signed off from ./include/drm, dated October 2026, and yes the title is still drm_gpuvm_for_each_va_safe(9) because we keep the branding immaculate ๐
โจ
๐ฆ 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