drm_exec_until_all_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_exec_until_all_locked(9) β€” a Kernel API Manual moment

okay so bestie, welcome to the drm_exec_until_all_locked page, freshly delivered from the Kernel API Manual and honestly? it's giving "small macro, big responsibilities" ✨


🌸 NAME

drm_exec_until_all_locked β€” loop until all GEM objects are locked πŸŽ€


✨ SYNOPSIS

drm_exec_until_all_locked (exec );

πŸ¦‹ ARGUMENTS

  • exec β€” the drm_exec object, your main character for this whole operation πŸ‘‘

πŸ’– DESCRIPTION

This right here is the core functionality of the drm_exec object, no cap. It loops until all GEM objects are locked and no more contention exists πŸ”₯

And here's the cute little promise at the top of every loop: at the beginning of the loop it is guaranteed that no GEM object is locked. clean slate energy, we love to see it 🧚

A global label name drm_exec_retry is used. so if you need to use more than one instance of this macro in the same function, the label needs to be made local to the block with the __label__ keyword πŸ’… iykyk β€” otherwise those labels are gonna vibe-check each other and it will not slay.

not me having to say this but fr fr: multiple instances in one function without __label__ = name clash city πŸ™ˆ

🌈 SEE ALSO

Kernel file ./include/drm/drm_exec.h plus the whole friend group:


🫢 and that's the page!! sourced straight from ./include/drm, dated October 2026 β€” periodt, go lock some GEM objects bestie πŸ’œ

πŸ“¦ where this page comes from