amdgpu_vm_update_pdes(9)
π amdgpu_vm_update_pdes β a Kernel API Manual moment (yes, that's the manpage name, we're fancy here)
okay so bestie, buckle up, because this little function from the Linux kernel API manual is about to get the hype it deserves. It's called amdgpu_vm_update_pdes, and honestly? It's giving quiet-competence main character energy. π¦
β¨ NAME β¨
amdgpu_vm_update_pdes β make sure that all directories are valid
like, that's the whole job. make sure every directory is valid. no drama, just vibes and correctness. π
πΈ SYNOPSIS πΈ
int amdgpu_vm_update_pdes (struct amdgpu_device *adev , struct amdgpu_vm *vm , bool immediate );
three args, one int back. iconic, honestly.
π ARGUMENTS π
adevβ anamdgpu_devicepointer. this is the device bestie, the actual GPU we're talking about. π«Άvmβ the requested vm. as in, the one you're asking about. not random, this specific one. πimmediateβ submit immediately to the paging queue. so like, no waiting around, we're going now. β‘
π₯ DESCRIPTION π₯
Makes sure all directories are up to date.
that's it. that's the whole description. it checks the directories, confirms they're all current, and moves on with its life. lowkey the most emotionally stable function in the whole file ngl. πβ¨
π RETURN π
0for success- error for failure π
so like, zero means slay, anything else means something went sideways. classic. π
π¦ SEE ALSO π¦
first up, the source-of-truth kernel file: ./drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c, plus GPUVM(9). and then, bestie, the entire extended friend group:
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_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 the whole group chat and they're all invited to the function call. π§π
okay tiny psa bestie: you can't just skim the SEE ALSO list and pretend you read it. i see you. π also there's literally no bug note or warning in this page, so don't go inventing one β the docs are being chill today.
kisses and clean page tables, this page lives under the source path ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and closes out with the title amdgpu_vm_update_pdes(9). periodt. π
β¨π
π¦ 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