Add some debugging so I can see when syscalls are being restarted

consistantly.  After a lengthy irc discussion it seems like we
shouldn't need to worry about them, but it's nice to know about.

MFC after:	3 days
This commit is contained in:
rnoland 2009-03-19 08:36:08 +00:00
parent eadbcd8e34
commit d310eb36e2
3 changed files with 12 additions and 1 deletions

View File

@ -87,7 +87,12 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
break;
}
DRM_UNLOCK();
DRM_DEBUG("%d %s\n", lock->context, ret ? "interrupted" : "has lock");
if (ret == ERESTART)
DRM_DEBUG("restarting syscall\n");
else
DRM_DEBUG("%d %s\n", lock->context,
ret ? "interrupted" : "has lock");
if (ret != 0)
return ret;

View File

@ -139,6 +139,9 @@ int mga_driver_fence_wait(struct drm_device * dev, unsigned int *sequence)
(((cur_fence = atomic_read(&dev_priv->last_fence_retired))
- *sequence) <= (1 << 23)));
if (ret == -ERESTART)
DRM_DEBUG("restarting syscall\n");
*sequence = cur_fence;
return ret;

View File

@ -282,6 +282,9 @@ static int radeon_wait_irq(struct drm_device * dev, int swi_nr)
DRM_WAIT_ON(ret, dev_priv->swi_queue, 3 * DRM_HZ,
RADEON_READ(RADEON_LAST_SWI_REG) >= swi_nr);
if (ret == -ERESTART)
DRM_DEBUG("restarting syscall");
return ret;
}