diff options
author | rnoland <rnoland@FreeBSD.org> | 2009-03-19 08:36:08 +0000 |
---|---|---|
committer | rnoland <rnoland@FreeBSD.org> | 2009-03-19 08:36:08 +0000 |
commit | d310eb36e24eb1f3b0f9dafa1737acc0730a68fb (patch) | |
tree | 772a5cba1bd5927ca7f41c3da21232e64218629e | |
parent | eadbcd8e34940289c31fa60ed3214922294094c4 (diff) | |
download | FreeBSD-src-d310eb36e24eb1f3b0f9dafa1737acc0730a68fb.zip FreeBSD-src-d310eb36e24eb1f3b0f9dafa1737acc0730a68fb.tar.gz |
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
-rw-r--r-- | sys/dev/drm/drm_lock.c | 7 | ||||
-rw-r--r-- | sys/dev/drm/mga_irq.c | 3 | ||||
-rw-r--r-- | sys/dev/drm/radeon_irq.c | 3 |
3 files changed, 12 insertions, 1 deletions
diff --git a/sys/dev/drm/drm_lock.c b/sys/dev/drm/drm_lock.c index 06ed54e..28573c8 100644 --- a/sys/dev/drm/drm_lock.c +++ b/sys/dev/drm/drm_lock.c @@ -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; diff --git a/sys/dev/drm/mga_irq.c b/sys/dev/drm/mga_irq.c index 005d43d..8e28987 100644 --- a/sys/dev/drm/mga_irq.c +++ b/sys/dev/drm/mga_irq.c @@ -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; diff --git a/sys/dev/drm/radeon_irq.c b/sys/dev/drm/radeon_irq.c index abe0ae3..ce301eb 100644 --- a/sys/dev/drm/radeon_irq.c +++ b/sys/dev/drm/radeon_irq.c @@ -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; } |