Hi, Jerome, While moving the ttm core code over to return -ERESTARTSYS in the event of it getting interrupted by a signal, I took a look at the use of the old -ERESTART usage in Radeon.
It turns out that in radeon_object.c, -ERESTART return values are caught and the ttm call is reissued. That is not the intended usage pattern, as the kernel will spin until the TTM call succeeds. The intended usage is to return to user-space to have the signal delivered and have user-space reissue the system call. If this for some reason can't be done, it's better to call ttm with the @interruptible argument set to false, in which case the ttm sleeps won't be woken up by signals. However, returning to user-space to have the signal delivered is strongly adviced to reduce signal delivery latency. That's pretty important for smooth mouse movement in X. Anyway, since I'm changing TTM, I'll provide a patch for Radeon that removes the -ERESTART checks and calls ttm with @interruptible set to false. Thanks, Thomas ------------------------------------------------------------------------------ Join us December 9, 2009 for the Red Hat Virtual Experience, a free event focused on virtualization and cloud computing. Attend in-depth sessions from your desk. Your couch. Anywhere. http://p.sf.net/sfu/redhat-sfdev2dev -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel