xe_validation_exec_lock(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_validation_exec_lock(9) πŸ’…

ok so bestie, welcome to the Kernel API Manual β€” today's episode of "functions that exist and you should know about" is xe_validation_exec_lock, and honestly? she's a little helper with main character energy. let's get into it 🫢


✨ NAME ✨

xe_validation_exec_lock β€” literally just here to do a drm_gpuvm_exec_lock inside a validation transaction. that's the whole gig, no cap πŸ’–


✨ SYNOPSIS ✨

int xe_validation_exec_lock (struct xe_validation_ctx *ctx , struct
drm_gpuvm_exec *vm_exec , struct xe_validation_device *val );

look at her go 😭 a whole int return type and everything.


✨ ARGUMENTS ✨

  • ctx β€” an uninitialized xe_validation_ctx. yes bestie, uninitialized on purpose, the function handles the init itself, don't come in here pre-initialized πŸ™ˆ
  • vm_exec β€” an initialized struct vm_exec. this one does need to be ready to go, so get her set up first πŸ’…
  • val β€” the validation domain. that's the vibe check zone for this whole operation πŸ¦‹

✨ DESCRIPTION ✨

okay so here's the tea β˜• β€” drm_gpuvm_exec_lock initializes its own drm_exec transaction internally as part of doing its thing. which is adorable, but it means it doesn't really, like, lend itself to being used with xe_validation_ctx_init. mismatched energy, you know? 😭

so the fix is this helper: you hand it an uninitialized xe_validation_ctx, and it calls drm_gpuvm_exec_lock for you, with OOM retry. that's the whole point of her existence, and she ate πŸ”₯


✨ RETURN ✨

  • 0 on success β€” slay, we love a clean return πŸ’–
  • a negative error code on failure β€” not slay, but at least you know what happened πŸ₯²

✨ SEE ALSO ✨

the whole validation friend group, fr fr 🫢✨


and that's the page, bestie! πŸŽ€ this little icon was brought to you by the good people over in ./drivers/gpu/drm/xe, dated October 2026 β€” write that down, periodt πŸ‘‘πŸ’œ

πŸ“¦ where this page comes from