[Bug 39202] FPS - KDE desktop effects with 3.0 rc6 kernel

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Oct 26 16:57:22 PDT 2011


--- Comment #43 from Ilija Hadzic <ihadzic at research.bell-labs.com> 2011-10-26 16:57:22 PDT ---
(In reply to comment #34)
> (In reply to comment #33)
> I booted into kde 4.7.0 with a 3.1.0-rc2 kernel and then I did:
> echo 7 > /sys/module/drm/parameters/debug
> and then I launched glxgears (and didn't close it).
> Then I did:
> dmesg | grep waiting
> [  329.830313] [drm:drm_wait_vblank], waiting on vblank count 19676, crtc 0
> [  329.834052] [drm:drm_wait_vblank], waiting on vblank count 19677, crtc 0
> [  329.834068] [drm:drm_wait_vblank], waiting on vblank count 19677, crtc 0
> [  329.846916] [drm:drm_wait_vblank], waiting on vblank count 19677, crtc 0
> [  329.846974] [drm:drm_wait_vblank], waiting on vblank count 19677, crtc 0

I know I closed this as "not-a-bug", but I have recently discovered an issue in
DRM module that can cause severe blocking if multiple processes are issuing the
vblank wait concurrently, so I have a second thought. Given that you have
multiple instances of waiting for the same vblank count, I wonder that may be
an issue in your case.

Are you a game for a little more testing (can't promise, success, but I want to
try) ? If so, can you repeat the test in which you dumped the above log, but
also find out the PID of the processes that are making the wait vblank calls
(you can do it by either hacking up the DRM_DEBUG statement that prints the
above to also print the PID of the current process) or by just examining the
kernel log and trying to identify through which ioctl the drm_wait_vblank was
entered and reading the PID from the log.

If you have multiple processes issuing the ioctl, then this patch may work for
you (it's still being debated and I have to revise it to reflect some comments
I received about the patch, but it's usable for experimentation purpose):


Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the dri-devel mailing list