gem_alive: A utility to see if the driver or GPU has hung

This commit is contained in:
Chris Wilson
2014-05-05 10:57:12 +01:00
parent c864279de6
commit 4bd9fe6e34
4 changed files with 38 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
#include <sys/ioctl.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <signal.h>
#include <i915_drm.h>
#include "drmtest.h"
int main(void)
{
struct drm_i915_gem_sw_finish arg = { 0 };
int fd;
signal(SIGALRM, SIG_IGN);
fd = drm_open_any();
if (fd < 0)
return 77;
alarm(1);
if (ioctl(fd, DRM_IOCTL_I915_GEM_SW_FINISH, &arg) == 0)
return 77;
switch (errno) {
case ENOENT:
return 0;
case EIO:
return 1;
case EINTR:
return 2;
default:
return 3;
}
}