STRUCT XE_GPU_SCHEDULER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct xe_gpu_scheduler β€” Xe GPU scheduler πŸ’…

okay so this page lives in the Kernel API Manual, and it's literally all about struct xe_gpu_scheduler, aka the Xe GPU scheduler β€” the main character of GPU scheduling, no cap ✨


🌸 NAME 🌸

struct xe_gpu_scheduler β€” Xe GPU scheduler 🫢


✨ SYNOPSIS ✨

like, here's the whole vibe, character for character:

struct xe_gpu_scheduler {
    struct drm_gpu_scheduler                base;
    const struct xe_sched_backend_ops       *ops;
    struct list_head                        msgs;
    spinlock_t msg_lock;
    struct work_struct              work_process_msg;
 };

πŸ’– Members πŸ’–

okay bestie, let's meet the cast, one member at a time πŸ‘‘

  • base β€” the DRM GPU scheduler. this is the foundation it sits on, the blueprint, the whole reason it's iconic πŸ’…
  • ops β€” the Xe scheduler ops (const struct xe_sched_backend_ops *). the plug-in-your-own-behaviour slot, iykyk πŸ”₯
  • msgs β€” the list of messages to be processed in work_process_msg. a whole queue of little notes waiting their turn πŸŽ€
  • msg_lock β€” the message lock. keeps everything from getting messy when the messages are moving around πŸ™ˆ
  • work_process_msg β€” processes messages. that's it, that's the job, and it does it slayfully ✨

πŸ¦‹ SEE ALSO πŸ¦‹

go read these next, fr fr:

  • Kernel file ./drivers/gpu/drm/xe/xe_gpu_scheduler_types.h β€” struct xe_sched_msg(9)
  • struct xe_sched_backend_ops(9)

ngl, if you're poking at scheduler messages, mind that msg_lock β€” it's there for a reason, bestie πŸ’€

and that's the whole page, periodt πŸ’œ big sign-off energy: this one's from ./drivers/gpu/drm/xe, dated October 2026, and the page itself is struct xe_gpu_scheduler(9) β€” screenshot it, memorise it, live it πŸŒˆβ­πŸ‘‘

πŸ“¦ where this page comes from