[Bug 12902] VBlank related server hang in indirect rendering mode

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Nov 5 02:25:25 PST 2007


------- Comment #8 from michel at tungstengraphics.com  2007-11-05 02:30 PST -------
(In reply to comment #7)
> I think this is another aspect of the hang I observed: if the X server
> continuously 
> receive SIGIO while sleeping in drmWaitVBlank then it may spin in the 
> "while (ret && errno == EINTR)" loop forever. 

No, I think that should be handled correctly, the vblank ioctl updates the
arguments for this before returning to userspace.

> In fact I have tried to hack drmWaitVBlank to incorporate the same kind of fix 
> as for the mentioned patch, and it successfully prevented the X server hang.
> (I can provide a patch if desired)

Feel free.

> I think that those can be avoided by handling this issue in the kernel: just
> put the task in a uninterruptible sleep state, for exemple by creating an
> uninterruptible version of DRM_WAIT_FOR and we can forgot this signal issue.
> That may not be valid/possile for all the ioctls, but I think that can work at
> leat for drmWaitVBlank.

Handling SIGIO ASAP is critical for input processing, in particular for smooth
mouse movement, so this would probably be a bad idea.

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

More information about the xorg-driver-ati mailing list