STRUCT XE_HW_ENGINE_GROUP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct xe_hw_engine_group(9) β€” the kernel API manual, but make it make sense

Okay bestie, grab your iced coffee, because this is a page from the Kernel API Manual and we're talking about struct xe_hw_engine_group β€” literally a "Hardware engine group" πŸŽ€


✨ NAME ✨

struct xe_hw_engine_group β€” Hardware engine group. That's it, that's the name, no cap. πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

Here's the whole struct, and yes you're gonna want to copy it exactly:

struct xe_hw_engine_group {
    struct list_head exec_queue_list;
    struct work_struct resume_work;
    struct workqueue_struct *resume_wq;
    struct rw_semaphore mode_sem;
    enum xe_hw_engine_group_execution_mode cur_mode;
 };

Look at her. Five members. Main character energy fr fr. πŸ’…


🌸 Members 🌸

  • exec_queue_list β€” the list of exec queues attached to this xe_hw_engine_group. Think of it as the group chat roster, but for exec queues. 🫢
  • resume_work β€” a worker to resume faulting LR exec queues. It's the one who wakes everybody up after a page fault nap. 😭
  • resume_wq β€” the workqueue to resume faulting LR exec queues. Same job as above, but this is the venue where the resuming happens. ✨
  • mode_sem β€” used to protect this group's hardware resources and to ensure mutual exclusion between execution only in faulting LR mode and execution only in DMA_FENCE mode. So like, one at a time, no overlap, we don't do chaos here. πŸ”₯
  • cur_mode β€” the current execution mode of this hw engine group. Her current vibe check, basically. ⭐

πŸ’– Description πŸ’–

So here's the tea: hw engines belong to the same group if they share hardware resources in a way that prevents them from making progress when one is stuck on a page fault. 🧚

Read that again. If one of them is stuck, the shared-resource situation means the others can't move forward either. They're in it together, for better or worse. It's giving ✨found family✨ but the family is stuck on a page fault.


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/gpu/drm/xe/xe_hw_engine_group_types.h (go read the header bestie, it's right there)
  • enum xe_hw_engine_group_execution_mode(9)

πŸ’€ Lowkey reminder: this is the types header in ./drivers/gpu/drm/xe β€” that's where the struct actually lives, so if you're looking for the real deal, that's the spot.

And that's the whole page, bestie! πŸŽ€ Source: ./drivers/gpu/drm/xe, straight from the Kernel API Manual, dated October 2026 β€” and the page footer still says struct xe_hw_engine_group(9), iconic of her honestly. πŸ’œ Slay, go forth, and don't page-fault on me. πŸ¦‹

πŸ“¦ where this page comes from