STRUCT DRM_GPUVM_EXEC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_gpuvm_exec(9) β€” the Kernel API Manual moment

Okay bestie, gather round, because this one is a whole vibe. This page lives in the Kernel API Manual, and it's about struct drm_gpuvm_exec, which is literally the &drm_gpuvm abstraction of &drm_exec. Yes, that's the entire NAME section, and yes, it ate. πŸŽ€


✨ SYNOPSIS ✨

struct drm_gpuvm_exec {
    struct drm_exec exec;
    u32 flags;
    struct drm_gpuvm *vm;
    unsigned int num_fences;
    struct {
      int (*fn)(struct drm_gpuvm_exec *vm_exec);
      void *priv;
    } extra;
 };

Look at her. Gorgeous. Structured. Stack-allocated. πŸ’–


🫢 Members 🫢

  • exec β€” the drm_exec structure. It's giving "the whole point" energy, honestly.
  • flags β€” the flags for the struct drm_exec. Little toggles, big personality.
  • vm β€” the drm_gpuvm to lock its DMA reservations. She's the main character, obviously.
  • num_fences β€” the number of fences to reserve for the dma_resv of the locked drm_gem_objects. Count 'em, bestie.
  • extra β€” callback plus corresponding private data, so the driver can lock arbitrary additional drm_gem_objects. Optional queen behavior. πŸ‘‘
  • extra.fn β€” the driver callback to lock additional drm_gem_objects.
  • extra.priv β€” driver private data for the fn callback.

🌸 Description 🌸

Okay so here's the tea: this structure should be created on the stack, as drm_exec should be. Stack. Not heap. Don't do anything weird, iykyk. 🫢

Optionally, extra can be set in order to lock additional drm_gem_objects. That's it, that's the paragraph, and honestly? Lowkey perfect. ✨

🧚 Friendly reminder that "optionally" means optional β€” if you don't need the extra lock-arbitrary-drm_gem_objects behavior, you don't gotta set it. No cap.

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/drm/drm_gpuvm.h β€” and the entire extended friend group:

Like, that's the whole group chat. Read them all. Slay. πŸ”₯


Sign-off time, babes: this masterpiece dropped from ./include/drm, dated October 2026, and it's filed under struct drm_gpuvm_exec(9) in the Kernel API Manual. Periodt. πŸ’œπŸŒˆβ­

πŸ“¦ where this page comes from