xe_vma_userptr_check_repin(9)
π xe_vma_userptr_check_repin β like, the advisory repin check bestie π
okay so this is a page from the Kernel API Manual, and it's all about xe_vma_userptr_check_repin β yes that's a whole mouthful, i know, but stay with me π«Ά
β¨ NAME β¨
xe_vma_userptr_check_repin β the advisory check for whether a repin is needed π
πΈ SYNOPSIS πΈ
int xe_vma_userptr_check_repin (struct xe_userptr_vma *uvma );
literally just one function, one arg, int coming back at you π
π ARGUMENTS π
uvmaβ the userptr vma in question, that's the whole vibe β¨
π¦ DESCRIPTION π¦
okay so what this does: it checks whether the userptr vma has been invalidated since the last successful repin. that's it. that's the check π
the check is advisory only β meaning it's giving "hey bestie maybe look into this" and not "this is legally binding", y'know? π
the way that this matters: the function can be called without the vm->svm.gpusvm.notifier_lock held. iconic, lowkey convenient. but π¨ there is no guarantee that the vma userptr will remain valid after a lockless check. so typically the call needs to be followed by a proper check under the notifier_lock. no cap, that second check is not optional in practice, so don't skip it π
π₯ RETURN π₯
0β userptr vma is valid, we love to see it π-EAGAINβ otherwise; repin recommended. yeah. it's giving "go repin" π
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/xe/xe_userptr.cβ the source, go read it iykyk π __xe_vm_userptr_needs_repin(9)xe_vma_userptr_force_invalidate(9)xe_vm_userptr_check_repin(9)
and that's the page!! mwah π this little gem lives in ./drivers/gpu/drm/xe, dated October 2026, and it's titled xe_vma_userptr_check_repin(9) β go forth and repin 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