public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* drm_sched run_job and scheduling latency
@ 2026-03-04 22:51 Chia-I Wu
  2026-03-05  2:04 ` Matthew Brost
                   ` (3 more replies)
  0 siblings, 4 replies; 26+ messages in thread
From: Chia-I Wu @ 2026-03-04 22:51 UTC (permalink / raw)
  To: ML dri-devel, intel-xe
  Cc: Boris Brezillon, Steven Price, Liviu Dudau, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Matthew Brost, Danilo Krummrich, Philipp Stanner,
	Christian König, Thomas Hellström, Rodrigo Vivi,
	open list

Hi,

Our system compositor (surfaceflinger on android) submits gpu jobs
from a SCHED_FIFO thread to an RT gpu queue. However, because
workqueue threads are SCHED_NORMAL, the scheduling latency from submit
to run_job can sometimes cause frame misses. We are seeing this on
panthor and xe, but the issue should be common to all drm_sched users.

Using a WQ_HIGHPRI workqueue helps, but it is still not RT (and won't
meet future android requirements). It seems either workqueue needs to
gain RT support, or drm_sched needs to support kthread_worker.

I know drm_sched switched from kthread_worker to workqueue for better
scaling when xe was introduced. But if drm_sched can support either
workqueue or kthread_worker during drm_sched_init, drivers can
selectively use kthread_worker only for RT gpu queues. And because
drivers require CAP_SYS_NICE for RT gpu queues, this should not cause
scaling issues.

Thoughts? Or perhaps this becomes less of an issue if all drm_sched
users have concrete plans for userspace submissions..

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2026-03-27  9:19 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-04 22:51 drm_sched run_job and scheduling latency Chia-I Wu
2026-03-05  2:04 ` Matthew Brost
2026-03-05  8:27   ` Boris Brezillon
2026-03-05  8:38     ` Philipp Stanner
2026-03-05  9:10       ` Matthew Brost
2026-03-05  9:47         ` Philipp Stanner
2026-03-16  4:05           ` Matthew Brost
2026-03-16  4:14             ` Matthew Brost
2026-03-05 10:19         ` Boris Brezillon
2026-03-05 12:27         ` Danilo Krummrich
2026-03-05 10:09     ` Matthew Brost
2026-03-05 10:52       ` Boris Brezillon
2026-03-05 20:51         ` Matthew Brost
2026-03-06  5:13           ` Chia-I Wu
2026-03-06  7:21             ` Matthew Brost
2026-03-06  9:36             ` Michel Dänzer
2026-03-06  9:40               ` Michel Dänzer
2026-03-05  8:35 ` Tvrtko Ursulin
2026-03-05  9:40   ` Boris Brezillon
2026-03-27  9:19     ` Tvrtko Ursulin
2026-03-05  9:23 ` Boris Brezillon
2026-03-06  5:33   ` Chia-I Wu
2026-03-06  7:36     ` Matthew Brost
2026-03-05 23:09 ` Hillf Danton
2026-03-06  5:46   ` Chia-I Wu
2026-03-06 11:58     ` Hillf Danton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox