STRUCT DRM_SCHED_RQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

Okay so bestie, welcome to the manual page for struct drm_sched_rq(9) from the Kernel API Manual πŸ’–. This struct is literally the queue of entities to be scheduled β€” no cap, that's the whole vibe.

πŸŽ€ SYNOPSIS πŸŽ€

       struct drm_sched_rq {
           struct drm_gpu_scheduler        *sched;
           spinlock_t lock;
           ktime_t rr_ts;
           struct list_head                entities;
           struct rb_root_cached           rb_tree_root;
           enum drm_sched_priority         head_prio;
        };

πŸ‘‘ Members πŸ‘‘

  • sched β€” the scheduler that this rq belongs to. Like, whose queue is this? This scheduler's, periodt.
  • lock β€” protects entities, rb_tree_root, rr_ts, and head_prio. Respect the lock, bestie πŸ”’.
  • rr_ts β€” a monotonically incrementing fake timestamp for RR mode. It's giving "pretend clock, real scheduling energy" ✨.
  • entities β€” the list of the entities to be scheduled. The lineup, the queue, the main characters πŸ’….
  • rb_tree_root β€” root of the time based priority queue of entities for FIFO scheduling. It's the top of the tree, no cap 🌳.
  • head_prio β€” priority of the top tree element. So you know what's sitting at the front of the priority tree πŸ‘‘.

πŸ¦‹ Description πŸ¦‹

A run queue is a set of entities that are scheduling command submissions for one specific ring. It implements the scheduling policy that selects the next entity to emit commands from. Basically, it's the vibe check that decides which entity gets to send commands next πŸŽ€.

🌈 SEE ALSO 🌈


Source/version vibes: ./include/drm and struct drm_sched_rq(9) Β· date: October 2026 β€” that's the whole manual bestie, slay πŸ«ΆπŸ’–

πŸ“¦ where this page comes from