amdgpu_vm_flush(9)
π amdgpu_vm_flush(9) π
okay bestie, welcome to the Kernel API Manual β¨ β this is the page for amdgpu_vm_flush, and it's literally the "hardware flush the vm" girly. no cap. π¦
πΈ NAME πΈ
amdgpu_vm_flush β hardware flush the vm π«
β¨ SYNOPSIS β¨
void amdgpu_vm_flush (struct amdgpu_ring *ring , struct amdgpu_job *job
, bool *need_pipe_sync , bool *emit_spm_needed , bool *emit_gds_needed
);
like, that's the whole signature, character for character, don't @ me π
π― ARGUMENTS π―
ringβ ring to use for flush π (yes it's called ring, yes it's the flush ring, slay)jobβ the related job, i.e. the job this flush is attached to π«Άneed_pipe_syncβ is pipe sync needed? it's abool *so the callee can tell you πemit_spm_neededβ does the caller need to emit spm? yes this is a real question you have to answer πemit_gds_neededβ does the caller need to emit gds? same vibe, different flag π
π§ DESCRIPTION π§
Emit a VM flush when it is necessary.
that's it. that's the description. iconic, honestly β minimal, no notes, periodt π the function does the thing only when the thing needs doing, and that's the whole tea β
π₯ SEE ALSO π₯
Kernel file ./drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c β yes, that's where the source lives π
and now the friend group, aka the entire amdgpu_vm extended universe. buckle up bestie, it's long ππ
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_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_bo_move(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β¦ that's a whole friend group text chain and every single one of them made it onto the list π no skipping, we don't do that here π«Ά
π reminder bestie: all those (9) refs are section 9 kernel API pages, so if a name doesn't autocomplete for you, that's a you problem, not a typo. iykyk π
okay that's the whole page!! π this was brought to you from ./drivers/gpu/drm/amd/amdgpu, dated October 2026 β go forth and flush responsibly, bestie πβπ
π¦ 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