drm_gpusvm_range_find(9)
π
drm_gpusvm_range_find β a Kernel API Manual moment
okay so this is drm_gpusvm_range_find(9) from the Kernel API Manual, and bestie, it does exactly one (1) thing and it does it iconically. It finds a GPU SVM range from a GPU SVM notifier. That's the whole vibe. β¨
πΈ NAME πΈ
drm_gpusvm_range_find β find a GPU SVM range from a GPU SVM notifier π
β¨ SYNOPSIS β¨
struct drm_gpusvm_range * drm_gpusvm_range_find (struct
drm_gpusvm_notifier *notifier , unsigned long start , unsigned long end
);
like, that's the whole signature. three args, one pointer back. no cap. π
π«Ά ARGUMENTS π«Ά
notifierβ a pointer to the GPU SVM notifier structure, i.e. the thing you're searching in π¦startβ the start address of the range π₯endβ the end address of the range π₯
π RETURN π
A pointer to the drm_gpusvm_range if it's found, or NULL. that's it. found β pointer, not found β NULL. the duality of woman πβ¨
π SEE ALSO π
okay this list is long but every single one of these is your bestie too, so let me introduce you π
Kernel file ./drivers/gpu/drm/drm_gpusvm.c β start here, it's giving main character energy π
The concepts, the deep lore:
Overview(9),Locking(9),Partial Unmapping of Ranges(9),Examples(9),npages_in_range(9)
The notifier girlies:
drm_gpusvm_notifier_find(9),drm_gpusvm_notifier_invalidate(9),drm_gpusvm_init(9),to_drm_gpusvm_notifier(9),drm_gpusvm_notifier_insert(9),drm_gpusvm_notifier_remove(9),drm_gpusvm_fini(9),drm_gpusvm_notifier_alloc(9),drm_gpusvm_notifier_free(9)
The range girlies:
to_drm_gpusvm_range(9),drm_gpusvm_range_insert(9),__drm_gpusvm_range_remove(9),drm_gpusvm_range_alloc(9),drm_gpusvm_hmm_pfn_to_order(9),drm_gpusvm_check_pages(9),drm_gpusvm_scan_mm(9),drm_gpusvm_range_chunk_size(9),drm_gpusvm_driver_lock_held(9),drm_gpusvm_find_vma_start(9),drm_gpusvm_range_find_or_insert(9)
The page-management girlies:
__drm_gpusvm_unmap_pages(9),__drm_gpusvm_free_pages(9),drm_gpusvm_free_pages(9),drm_gpusvm_range_remove(9),drm_gpusvm_range_get(9),drm_gpusvm_range_destroy(9),drm_gpusvm_range_put(9),drm_gpusvm_pages_valid(9),drm_gpusvm_pages_valid_unlocked(9),drm_gpusvm_get_pages(9),drm_gpusvm_unmap_pages(9),drm_gpusvm_range_evict(9),drm_gpusvm_has_mapping(9),drm_gpusvm_range_set_unmapped(9)
lowkey a reminder: this page is deliberately tiny. read the whole thing, check the SEE ALSO, and then go read the source β that's where the plot is π
and that's the whole page, bestie π«Ά this cutie came out of ./drivers/gpu/drm, dated October 2026, and lives under drm_gpusvm_range_find(9). go find some ranges. slay. πβ¨πΈ
π¦ 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