Comment 19 for bug 1665802

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I've just spent more time analysing the similar bug 1211700 that radeon experiences and found the common factor is the Mesa gallium code -- and that's also where the server process is hung in my case.

So I've generalized bug 1211700 and arguably this could now be a duplicate of that. But I won't mark it as a duplicate just yet since this one is a special case we might be able to work around more easily than the swap interval 0 case of bug 1211700.

The high CPU usage part of this bug is apparently not a bug. After I extracted some more data points from Alberto today it became clear that Mir 0.26 is trying to and partially succeeding in achieving significantly higher frame rates than 0.25 could. Mir 0.25 only had lower resource usage because the same client was achieving only a quarter to half the FPS that 0.26 does. Mir 0.26 (client-side vsync) tries harder to achieve a perfect smooth frame rate, but that's what's saturating the Freedreno GPU, triggering bug 1211700.

So once again, this bug is basically a duplicate of bug 1211700, but I won't mark it as duplicate while I try to come up with a special fix just for this one (which is easier in theory).