amdgpu_vm_bo_move(9)
π amdgpu_vm_bo_move β handle BO move
okay so bestie, welcome to section 9 of the Kernel API Manual, page amdgpu_vm_bo_move(9). yeah it's a kernel function, yeah it's DRM/AMDGPU, but honestly? it's giving one-job-one-vibe and we respect it π«Ά
β¨ NAME β¨
amdgpu_vm_bo_move β handle BO move</p> π¦ that's it, that's the whole personality. a BO moves, and this function handles it. no cap.
πΈ SYNOPSIS πΈ
void amdgpu_vm_bo_move (struct amdgpu_bo *bo , struct ttm_resource
*new_mem , bool evicted );
returns void btw β it's not gonna hand you a result back, it just does the thing and dips π
π ARGUMENTS π
boβ amdgpu buffer object. the main character of this whole operation, the BO in question πnew_memβ the new placement of the BO move. where it's headed, its new little home πevictedβ is the BO evicted. abool, so likeβ¦ yes or no, girl, pick one π
π DESCRIPTION π
So what does it actually do? Two things, and it does them both, periodt:
- Update the memory stats for the new placement π
- and mark
boas invalid π
that's literally the whole description, and honestly? iconic. no fluff, no side quests, just stats + invalidate β¨
π₯ SEE ALSO π₯
the friend group π first up, the kernel file herself:
- Kernel file
./drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c GPUVM(9)struct amdgpu_prt_cb(9)struct amdgpu_vm_tlb_seq_struct(9)amdgpu_vm_assert_locked(9)amdgpu_vm_is_bo_always_valid(9)amdgpu_vm_bo_evicted(9)amdgpu_vm_bo_needs_update(9)amdgpu_vm_bo_idle(9)amdgpu_vm_bo_reset_state_machine(9)amdgpu_vm_update_shared(9)amdgpu_vm_bo_update_shared(9)amdgpu_vm_update_stats_locked(9)amdgpu_vm_update_stats(9)amdgpu_vm_bo_base_init(9)amdgpu_vm_lock_pd(9)amdgpu_vm_lock_individual(9)amdgpu_vm_move_to_lru_tail(9)amdgpu_vm_generation(9)amdgpu_vm_validate(9)amdgpu_vm_ready(9)amdgpu_vm_check_compute_bug(9)amdgpu_vm_need_pipeline_sync(9)amdgpu_vm_flush(9)amdgpu_vm_bo_find(9)amdgpu_vm_map_gart(9)amdgpu_vm_update_pdes(9)amdgpu_vm_tlb_seq_cb(9)amdgpu_vm_tlb_flush(9)amdgpu_vm_update_range(9)amdgpu_vm_bo_update(9)amdgpu_vm_update_prt_state(9)amdgpu_vm_prt_get(9)amdgpu_vm_prt_put(9)amdgpu_vm_prt_cb(9)amdgpu_vm_add_prt_cb(9)amdgpu_vm_free_mapping(9)amdgpu_vm_prt_fini(9)amdgpu_vm_clear_freed(9)amdgpu_vm_handle_moved(9)amdgpu_vm_flush_compute_tlb(9)amdgpu_vm_bo_add(9)amdgpu_vm_bo_insert_map(9)amdgpu_vm_bo_map(9)amdgpu_vm_bo_replace_map(9)amdgpu_vm_bo_unmap(9)amdgpu_vm_bo_clear_mappings(9)amdgpu_vm_bo_lookup_mapping(9)amdgpu_vm_bo_trace_cs(9)amdgpu_vm_bo_del(9)amdgpu_vm_evictable(9)amdgpu_vm_bo_invalidate(9)amdgpu_vm_get_block_size(9)amdgpu_vm_adjust_size(9)amdgpu_vm_wait_idle(9)amdgpu_vm_put_task_info(9)amdgpu_vm_get_task_info_vm(9)amdgpu_vm_get_task_info_pasid(9)amdgpu_vm_set_task_info(9)amdgpu_vm_init(9)amdgpu_vm_make_compute(9)amdgpu_vm_fini(9)amdgpu_vm_manager_init(9)amdgpu_vm_manager_fini(9)amdgpu_vm_ioctl(9)amdgpu_vm_lock_by_pasid(9)amdgpu_vm_handle_fault(9)amdgpu_debugfs_vm_bo_info(9)amdgpu_vm_update_fault_cache(9)
like I said. the whole friend group. a group chat with 70+ members and every single one is a real one ππ
ngl if you're reading a section 9 kernel page for fun, you're lowkey built different and I'm obsessed π§β¨
and that's the page, bestie! this lil gem lives over in ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and the whole thing is filed under amdgpu_vm_bo_move(9) β mwah, go touch some VRAM, ily ππ
π¦ 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