https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_101/fi-blb-e6850/igt@prime_vgem@coherency-gtt.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_101/fi-pnv-d510/igt@prime_vgem@coherency-gtt.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_101/fi-elk-e7500/igt@prime_vgem@coherency-gtt.html https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_101/fi-bwr-2160/igt@prime_vgem@coherency-gtt.html (prime_vgem:1363) CRITICAL: Test assertion failure function test_gtt_interleaved, file ../tests/prime_vgem.c:314: (prime_vgem:1363) CRITICAL: Failed assertion: gtt[1024*i] == ~i (prime_vgem:1363) CRITICAL: error: 0 != -1 Subtest coherency-gtt failed. Used to be tracked in https://bugs.freedesktop.org/show_bug.cgi?id=100587.
The weird with these is that it looks like buffering on the read; it's not the write via the GTT being incoherent with the read via WC, in these cases it's the write via WC not being immediately visible via GTT. That upsets all my understanding of PCI ordering rules and mental models for how the GTT works.
It's only prime_vgem, right? That's the one that tries to interleave read/writes to and from GTT. Ah, probably because gem_mmap_gtt/coherency only checked the one direction (a fault of writing the test for the known bug instead of thinking about possible variants).
(In reply to Chris Wilson from comment #2) > It's only prime_vgem, right? That's the one that tries to interleave > read/writes to and from GTT. Ah, probably because gem_mmap_gtt/coherency > only checked the one direction (a fault of writing the test for the known > bug instead of thinking about possible variants). Yes, only igt@prime_vgem@coherency-gtt is failing now :)
Still happening: https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_217/fi-elk-e7500/igt@prime_vgem@coherency-gtt.html
Latest occurrence from yesterday: https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_246/fi-elk-e7500/igt@prime_vgem@coherency-gtt.html' Starting subtest: coherency-gtt (prime_vgem:1136) CRITICAL: Test assertion failure function test_gtt_interleaved, file ../tests/prime_vgem.c:314: (prime_vgem:1136) CRITICAL: Failed assertion: gtt[1024*i] == ~i (prime_vgem:1136) CRITICAL: error: 0 != -1 Subtest coherency-gtt failed. **** DEBUG **** (prime_vgem:1136) DEBUG: Test requirement passed: is_coherent(i915) (prime_vgem:1136) CRITICAL: Test assertion failure function test_gtt_interleaved, file ../tests/prime_vgem.c:314: (prime_vgem:1136) CRITICAL: Failed assertion: gtt[1024*i] == ~i (prime_vgem:1136) CRITICAL: error: 0 != -1 (prime_vgem:1136) igt_core-INFO: Stack trace: (prime_vgem:1136) igt_core-INFO: #0 ../lib/igt_core.c:1474 __igt_fail_assert() (prime_vgem:1136) igt_core-INFO: #1 ../tests/prime_vgem.c:307 test_gtt_interleaved() (prime_vgem:1136) igt_core-INFO: #2 ../tests/prime_vgem.c:833 __real_main805() (prime_vgem:1136) igt_core-INFO: #3 ../tests/prime_vgem.c:805 main() (prime_vgem:1136) igt_core-INFO: #4 ../csu/libc-start.c:344 __libc_start_main() (prime_vgem:1136) igt_core-INFO: #5 [_start+0x2a] **** END **** Subtest coherency-gtt: FAIL (0.796s)
Assigning to Matt for investigation. Do the logs reveal anything?
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/intel/issues/156.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.