drm_gpuva_remove(9)
π drm_gpuva_remove(9) β Kernel API Manual
okay so bestie, this is the manpage for drm_gpuva_remove, straight out of the Kernel API Manual. it's short, it's sweet, and it does exactly one (1) thing. let's get into it β¨
πΈ NAME
drm_gpuva_remove β remove a &drm_gpuva
that's it. that's the whole job. iconic honestly π
β¨ SYNOPSIS
void drm_gpuva_remove(struct drm_gpuva *va);
no return value, no drama. it's giving "void and unbothered" π
π¦ ARGUMENTS
vaβ thedrm_gpuvato remove. that's the one, the main character, the thing getting yeeted out of the tree π«Ά
π₯ DESCRIPTION
so what does it actually do? this removes the given va from the underlying tree. tree said "you're not on the list anymore" π
and here's the part where you go "wait, is this safe mid-loop?" β yes babe, it is π it's safe to use this function with the safe versions of iterating the GPU VA space, like drm_gpuvm_for_each_va_safe and drm_gpuvm_for_each_va_range_safe. so you can remove stuff while you're still walking the tree. no cap, that's the whole reason those safe iterators exist π
ngl, notice it says safe versions β that's the vibe check here. use the safe iterators and you're golden β
π SEE ALSO
grab a snack, bestie, this list is long and we're listing every single one, no skipping π
- Kernel file
./drivers/gpu/drm/drm_gpuvm.c Overview(9)Split and Merge(9)Madvise Logic - Splitting and Traversal(9)Locking(9)Examples(9)get_next_vm_bo_from_list(9)for_each_vm_bo_in_list(9)restore_vm_bo_list(9)drm_gpuvm_bo_is_zombie(9)drm_gpuvm_bo_list_add(9)drm_gpuvm_bo_list_del_init(9)drm_gpuvm_bo_list_del(9)drm_gpuvm_range_valid(9)drm_gpuvm_resv_object_alloc(9)drm_gpuvm_init(9)drm_gpuvm_put(9)drm_gpuvm_prepare_vm(9)drm_gpuvm_prepare_objects(9)drm_gpuvm_prepare_range(9)drm_gpuvm_exec_lock(9)drm_gpuvm_exec_lock_array(9)drm_gpuvm_exec_lock_range(9)drm_gpuvm_validate(9)drm_gpuvm_resv_add_fence(9)drm_gpuvm_bo_create(9)drm_gpuvm_bo_put(9)drm_gpuvm_bo_put_deferred(9)drm_gpuvm_bo_deferred_cleanup(9)drm_gpuvm_bo_find(9)drm_gpuvm_bo_obtain_locked(9)drm_gpuvm_bo_obtain_prealloc(9)drm_gpuvm_bo_extobj_add(9)drm_gpuvm_bo_evict(9)drm_gpuva_insert(9)drm_gpuva_link(9)drm_gpuva_unlink(9)drm_gpuva_unlink_defer(9)drm_gpuva_find_first(9)drm_gpuva_find(9)drm_gpuvm_interval_empty(9)drm_gpuva_map(9)drm_gpuva_remap(9)drm_gpuva_unmap(9)drm_gpuvm_sm_map(9)drm_gpuvm_sm_unmap(9)drm_gpuvm_sm_map_exec_lock(9)drm_gpuvm_sm_unmap_exec_lock(9)drm_gpuvm_sm_map_ops_create(9)drm_gpuvm_madvise_ops_create(9)drm_gpuvm_sm_unmap_ops_create(9)drm_gpuvm_prefetch_ops_create(9)drm_gpuvm_bo_unmap_ops_create(9)drm_gpuva_ops_free(9)
and that's the page, bestie!! π§ lived in ./drivers/gpu/drm, dated October 2026, and it's literally titled drm_gpuva_remove(9) β go forth and remove your gpuva's safely, mwah π
π¦ 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