DRM_SCHED_F...ONT_PIPELINE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… DRM_SCHED_FENCE_DONT_PIPELINE β€” a lil' guide from the Kernel API Manual ✨

okay so bestie, we're deep in the kernel API manual right now (that's the whole vibe of this page, iykyk) and today's main character is a flag. yes, a flag. and honestly? she's iconic.


πŸ’– NAME πŸ’–

DRM_SCHED_FENCE_DONT_PIPELINE β€” literally just here to prevent dependency pipelining. that's it. that's her whole job. periodt.


πŸ¦‹ SYNOPSIS πŸ¦‹

DRM_SCHED_FENCE_DONT_PIPELINE

no args, no params, no drama β€” just the flag itself, standing there looking cute πŸŽ€


🌸 DESCRIPTION 🌸

so here's the tea β˜• β€” when you set this flag on a scheduler fence, it stops jobs that depend on that fence from getting pipelined. like, no cap, the whole point is that it puts a hard stop on the fancy overlapping-schedule situation.

in other words (and this part is fr fr important, so read it slow 🫢): we always insert a full CPU round trip before dependent jobs are pushed to the hw queue. always. no shortcuts, no sneaky fast path, no "but it'll be faster ifβ€”" nope. full CPU round trip, every time. it's giving careful and responsible, and honestly? we respect it πŸ’…


🧚 SEE ALSO 🧚

  • the kernel file ./include/drm/gpu_scheduler.h β€” go read it, it's right there πŸ‘€
  • DRM_SCHED_FENCE_FLAG_HAS_DEADLINE_BIT(9)
  • struct drm_sched_entity(9)
  • struct drm_sched_rq(9)
  • struct drm_sched_fence(9)
  • struct drm_sched_job(9)
  • enum drm_gpu_sched_stat(9)
  • struct drm_sched_backend_ops(9)
  • struct drm_gpu_scheduler(9)
  • struct drm_sched_init_args(9)
  • struct drm_sched_pending_job_iter(9)
  • drm_sched_for_each_pending_job(9)

like, the whole scheduler friend group showed up to the party 🌈 love that for them.


πŸ’€ quick vibe check reminder: this is kernel API territory, bestie β€” the descriptions above mean exactly what they say, so don't go adding your own spin to what "full CPU round trip" means up in here. πŸŽ€

and that's the page!! mwah πŸ’‹ this lil' slice of the manual lives at ./include/drm, it's dated October 2026, and it's filed under Kernel API Manual β€” go off, you understood it, slay πŸ”₯πŸ‘‘

πŸ“¦ where this page comes from