[Bug 88191] [PNV Bisected]igt/gem_exec_big fails

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jan 8 06:36:47 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=88191

--- Comment #1 from Chris Wilson <chris at chris-wilson.co.uk> ---
So far it looks like it has uncovered a nasty coherency issue between pwrite +
set-to-domain + relocate + pread.

Forcing pwrite to use GTT, makes it work, as does removing the user
set-to-domain. It also seems to be timing dependent (but it fails quite
reproducibly), adding printk also makes it work.

Throwing i915_gem_chipset_flush() around is not sufficient. But...


diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index c7f4048..831cef2 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -332,6 +332,8 @@ relocate_entry_gtt(struct drm_i915_gem_object *obj,
        if (ret)
                return ret;

+       mb();
+
        /* Map the page containing the relocation we're going to perform.  */
        offset = i915_gem_obj_ggtt_offset(obj);
        offset += reloc->offset;
@@ -355,6 +357,7 @@ relocate_entry_gtt(struct drm_i915_gem_object *obj,

        io_mapping_unmap_atomic(reloc_page);

+       mb();
        return 0;
 }


crazily enough does. And notably

diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index c7f4048..3da285a 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -880,7 +880,7 @@ vmas_move_to_rq(struct eb_vmas *eb,
                i915_gem_chipset_flush(rq->i915);

        if (flush_domains & I915_GEM_DOMAIN_GTT)
-               wmb();
+               mb();

        /* 2: invalidate the caches from this ring after emitting semaphores */
        ret = i915_request_emit_flush(rq, I915_INVALIDATE_CACHES);

does not. Hmm.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20150108/3ac6067e/attachment.html>


More information about the intel-gfx-bugs mailing list