svm_range_split_adjust(9)
π« svm_range_split_adjust(9) π«
okay so bestie, this is a page straight out of the Kernel API Manual β section 9, kernel API vibes only β and it's all about svm_range_split_adjust. it's giving "niche GPU driver helper that absolutely slays". let's get into it π
πΈ NAME πΈ
svm_range_split_adjust β split range and adjust. that's literally the whole thing. short, sweet, iconic.
β¨ SYNOPSIS β¨
int svm_range_split_adjust (struct svm_range *new , struct svm_range
*old , uint64_t start , uint64_t last );
four args, one int coming back at you. no cap. π«Ά
π¦ ARGUMENTS π¦
newβ the new range. fresh out of the box, main character energy.oldβ the old range. the og. respect it.startβ the old range adjust to start address in pages.lastβ the old range adjust to last address in pages.
π DESCRIPTION π
so here's the tea: this function copies system memory dma_addr or vram ttm_res in the old range over to the new range, starting from new_start up to size new->npages. the remaining old range is from start to last. lowkey surgical. literally splitting and adjusting at the same time, which is kind of a flex ngl π
π₯ RETURN π₯
0β OK, we ate. β¨-ENOMEMβ out of memory π
fr fr, that's the whole return contract. two outcomes. no in-between.
π SEE ALSO π
bestie these are the sibling functions, and yes you should read them too:
- Kernel file
./drivers/gpu/drm/amd/amdkfd/kfd_svm.c svm_range_unlink(9)svm_range_add_to_svms(9)svm_range_debug_dump(9)svm_range_split(9)svm_range_list_lock_and_flush_work(9)svm_range_evict(9)svm_range_add(9)svm_range_cpu_invalidate_pagetables(9)svm_range_from_addr(9)svm_range_check_vm(9)svm_range_is_valid(9)svm_range_best_prefetch_location(9)
and that's the page! π brought to you by the fine folks at ./drivers/gpu/drm/amd/amdkfd, October 2026 edition β svm_range_split_adjust(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