STRUCT XE_HW_FENCE_IRQ(9)
π struct xe_hw_fence_irq(9) π
okay bestie, welcome to the Kernel API Manual section for struct xe_hw_fence_irq β the hardware fence IRQ handler. yes it's a whole struct, yes it's iconic, let's get into it β¨
πΈ NAME πΈ
struct xe_hw_fence_irq β the hardware fence IRQ handler, fr fr. this is the little guy that handles your interrupt requests for hardware fences π
β¨ SYNOPSIS β¨
struct xe_hw_fence_irq {
spinlock_t lock;
struct irq_work work;
struct list_head pending;
bool enabled;
};
look at that struct. she's gorgeous. four members, zero notes π
π MEMBERS π
lockβ aspinlock_tthat protects allxe_hw_fencesplus thependinglist. like, she's the bouncer at the club and nobody gets past her, no cap πworkβ thestruct irq_workIRQ worker that gets run to signal the fences. it's giving "main character who does the actual work" energy πpendingβ astruct list_headholding the list of pendingxe_hw_fences. the queue of fences waiting for their moment πenabledβ aboolthat says whether fence signaling is enabled. on or off, babe, that's the whole vibe check β
π DESCRIPTION π
so here's the tea: there's one of these per engine class, and its whole job is signaling completed xe_hw_fences, triggered via the hw engine interrupt π₯
on each trigger, it searches the list of pending fences and signals. that's it. that's the whole personality. lowkey efficient, highkey essential π
π¦ SEE ALSO π¦
- Kernel file
./drivers/gpu/drm/xe/xe_hw_fence_types.h struct xe_hw_fence_ctx(9)struct xe_hw_fence(9)
go read those too, iykyk π«Ά
okay that's the whole page! this cutie lives under ./drivers/gpu/drm/xe, dated October 2026, and it's literally filed under struct xe_hw_fence_irq(9). periodt. ππΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms