On 10/6/23 20:48, Ray Strode wrote:
> 
> Note, a point that I don't think has been brought up yet, too, is
> the system unbound workqueue doesn't run with real time priority.
> Given the lion's share of mutter's drmModeAtomicCommit calls are
> nonblock, and so are using the system unbound workqueue for handling
> the commits, even without this patch, that somewhat diminishes the
> utility of using a realtime thread anyway. I believe the original
> point of the realtime thread was to make sure mouse cursor motion
> updates are as responsive as possible, because any latency there is
> something the user really feels.

Mutter's KMS thread needs to be real-time so that it can reliably schedule its 
work building up to calling the atomic commit ioctl for minimal input → output 
latency. That some of the ioctl's own work doesn't run at the same priority 
doesn't necessarily matter for this, as long as it can hit the next vertical 
blank period.

BTW, I understand kwin has or is planning to get a real-time KMS thread as 
well, for the same reasons.


> Maybe there needs to be a different mechanism in place to make sure
> user perceived interactivity is given priority.

The only alternative I'm aware of having been discussed so far is allowing 
atomic commits to be amended. I don't think that would be a great solution for 
this issue though, as it would result in Wayland compositors wasting CPU cycles 
(in other words, energy) for constant amendments of atomic commits, in the hope 
that one of them results in good latency.


-- 
Earthling Michel Dänzer            |                  https://redhat.com
Libre software enthusiast          |         Mesa and Xwayland developer

Reply via email to