drm_gpuvm_put(9)
π drm_gpuvm_put(9) π
okay so bestie, we're in the Kernel API Manual today and this one is short but iconic β like, a tiny little function that does exactly one thing and does it well. no notes. π
β¨ NAME β¨
drm_gpuvm_put β drop a struct drm_gpuvm reference π
π¦ SYNOPSIS π¦
void drm_gpuvm_put (struct drm_gpuvm *gpuvm );
πΈ ARGUMENTS πΈ
gpuvmβ thedrm_gpuvmyou want to release the reference of. that's it, that's the whole vibe check π«Ά
π DESCRIPTION π
so, this one releases a reference to gpuvm. literally its whole job. one reference goes poof β¨ and it's done. no drama, no cap.
and here's the slay part: this function may be called from atomic context. π₯ that's not a suggestion, that's a whole superpower β she's atomic-safe, and you can call her in contexts where most functions could never. respect the icon. π
π« SEE ALSO π«
ngl this list is long but every single one of these is a friend of the family, so let's go, in order, no skipping, no summarizing, we don't do that here π§:
- Kernel file
./drivers/gpu/drm/drm_gpuvm.cOverview(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_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_remove(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)
there. all fifty-three. you're welcome. π
ok and before you go β this page lives in./drivers/gpu/drm, it's dated October 2026, and yeah, the manual tag matches the title:drm_gpuvm_put(9). iconic behavior honestly π
okay that's the whole page bestie, go release those references, ily, bye!! πβ¨π
π¦ 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