[Bug,99130,IVB] CONFIG_PROVE_LOCKING=y causes igt/gem_exec/basic-wait-all (and possibly others) to fail
diff mbox

Message ID bug-99130-502-MDaFa8qZLV@http.bugs.freedesktop.org/
State New
Headers show

Commit Message

bugzilla-daemon@freedesktop.org Dec. 17, 2016, 5:42 p.m. UTC
https://bugs.freedesktop.org/show_bug.cgi?id=99130

--- Comment #3 from Chris Wilson <chris@chris-wilson.co.uk> ---
Looks like the timeout value isn't being computed properly (possibly just that
too much time is unaccounted?). Can you apply:


@@ -3042,6 +3043,12 @@ i915_gem_wait_ioctl(struct drm_device *dev, void *data,
struct drm_file *file)
                        args->timeout_ns = 0;
        }

+       pr_info("%s: timeout %d.%09d -> %d.%09d\n", __func__,
+               prev_timeout < 0 ? -1 : ns_to_timespec(prev_timeout).tv_sec,
+               prev_timeout < 0 ? 0 : ns_to_timespec(prev_timeout).tv_nsec,
+               args->timeout_ns < 0 ? -1 :
ns_to_timespec(args->timeout_ns).tv_sec,
+               args->timeout_ns < 0 ? 0 :
ns_to_timespec(args->timeout_ns).tv_nsec);
+
        i915_gem_object_put(obj);
        return ret;
 }

and get the output for a failure?

Patch
diff mbox

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 1b2f18d0ca2b..dfe751b350ad 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3019,6 +3019,7 @@  i915_gem_wait_ioctl(struct drm_device *dev, void *data,
struct drm_file *file)
 {
        struct drm_i915_gem_wait *args = data;
        struct drm_i915_gem_object *obj;
+       u64 prev_timeout = args->timeout_ns;
        ktime_t start;
        long ret;