STRUCT DRM_SCHED_INIT_ARGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay so struct drm_sched_init_args is literally the parameters for initializing a DRM GPU scheduler. We're in the Kernel API Manual, bestie, and this struct is giving setup-era main character energy πŸ’…βœ¨


✨ SYNOPSIS ✨

       struct drm_sched_init_args {
           const struct drm_sched_backend_ops *ops;
           struct workqueue_struct *submit_wq;
           struct workqueue_struct *timeout_wq;
           u32 num_rqs;
           u32 credit_limit;
           unsigned int hang_limit;
           long timeout;
           atomic_t *score;
           const char *name;
           struct device *dev;
        };

🫢 Members 🫢

  • ops β€” backend operations provided by the driver πŸ‘‘
  • submit_wq β€” workqueue to use for submission. If it's NULL, an ordered wq is allocated and used. slay πŸ¦‹
  • timeout_wq β€” workqueue to use for timeout work. If it's NULL, the system_wq is used. periodt πŸ’…
  • num_rqs β€” Number of run-queues. This may be at most DRM_SCHED_PRIORITY_COUNT, as there's usually one run-queue per priority, but may be less 🌈
  • credit_limit β€” the number of credits this scheduler can hold from all jobs πŸŽ€
  • hang_limit β€” number of times to allow a job to hang before dropping it. This mechanism is DEPRECATED. Set it to 0. fr fr, do not play with this one 😭
🚨 bestie warning: hang_limit is DEPRECATED. Set it to 0. That's the vibe check. πŸ’€
  • timeout β€” timeout value in jiffies for submitted jobs ⏳
  • score β€” score atomic shared with other schedulers. May be NULL. no cap 🫢
  • name β€” name (typically the driver's name). Used for debugging πŸ”
  • dev β€” associated device. Used for debugging 🧚

πŸ’– SEE ALSO πŸ’–


mwah πŸ’‹ this lil page came from ./include/drm, dated October 2026, and it's literally all about struct drm_sched_init_args(9) β€” bye bestie πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from