STRUCT I915_GEM_ENGINES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct i915_gem_engines(9) ✨

okay bestie, welcome to the Kernel API Manual πŸ’… today's main character is struct i915_gem_engines, which is literally just a set of engines. that's the whole vibe. one struct, holding a little squad of engines, living that group-chat life 🫢


🌸 NAME 🌸

struct i915_gem_engines β€” a set of engines. that's it, that's the girl πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole shape of her, copy-pasted exactly, no cap:

struct i915_gem_engines {
    union {
      struct list_head link;
      struct rcu_head rcu;
    };
    struct i915_sw_fence fence;
    struct i915_gem_context *ctx;
    unsigned int num_engines;
    struct intel_context *engines[];
 };

πŸ‘‘ Members πŸ‘‘

okay so let's go member by member, because every single one of them matters πŸ’–

  • {unnamed_union} β€” anonymous. yes she's unnamed, she's mysterious, she's giving ✨no name needed✨. this is the anonymous union holding link and rcu together.
  • link β€” link in i915_gem_context::stale::engines. she's connected, she's networked, she knows people πŸ’…
  • rcu β€” the RCU to use when freeing. that's how she exits, cleanly, when it's her time πŸ•ŠοΈ
  • fence β€” fence used for delayed destruction of engines. not a red flag, a literal fence β€” it holds the engines back from being destroyed too early, lowkey iconic πŸ”₯
  • ctx β€” i915_gem_context backpointer. she's got a home and she remembers it 🏠
  • num_engines β€” number of engines in this set. the headcount, the census, the "how many of us are in this gc" 🧚
  • engines β€” array of engines. the whole squad, lined up, ready πŸš—πŸ’¨

πŸ”₯ SEE ALSO πŸ”₯

go read these next, bestie, iykyk πŸ‘€ β€” kernel file ./drivers/gpu/drm/i915/gem/i915_gem_context_types.h plus:

  • struct i915_gem_engines_iter(9)
  • enum i915_gem_engine_type(9)
  • struct i915_gem_proto_engine(9)
  • struct i915_gem_proto_context(9)
  • struct i915_gem_context(9)

ngl, this page comes from ./drivers/gpu/drm/i915/gem in the Kernel API Manual, dated October 2026. genuinely obsessed, slay, periodt πŸ’œπŸŒˆβ­
πŸ“¦ where this page comes from