svm_range_split(9)
π NAME π
svm_range_split(9) from the Kernel API Manual β split a range in 2 ranges, and that's literally the whole assignment bestie. π
β¨ SYNOPSIS β¨
int svm_range_split (struct svm_range *prange , uint64_t start , uint64_t last , struct svm_range **new );
π ARGUMENTS π
prangeβ the svm range you're splitting. main character energy fr. πstartβ the remaining range start address, in pages. πlastβ the remaining range last address, in pages. π§Ύnewβ the result new range generated, aka the fresh new range. π£
π¦ DESCRIPTION π¦
Okay so there are two cases only, no extras, no secret third case, periodt:
case 1: if start == prange->start prange ==> prange[start, last] new range [last + 1, prange->last]
case 2: if last == prange->last prange ==> prange[start, last] new range [prange->start, start - 1]
That's it. Case 1 is the start == prange->start situation, and case 2 is the last == prange->last situation. The code-shape stays exactly like that, iykyk. π«Ά
π RETURN π
0β OK, slay. β-ENOMEMβ out of memory. π-EINVALβ invalidstart,last. π
π SEE ALSO π
- 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_adjust(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)
okay that's the page bestie π svm_range_split(9) is serving Kernel API Manual energy, straight from ./drivers/gpu/drm/amd/amdkfd, dated October 2026 β bye, go split responsibly πβ¨
π¦ 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