Bug 107862

Summary: [CI][DRMTIP] igt@(prime_vgem/coherency) - fail - Failed assertion: gtt[1024*i] == ~i
Product: DRI Reporter: Martin Peres <martin.peres>
Component: DRM/IntelAssignee: mwa <matthew.auld>
Status: RESOLVED MOVED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard: ReadyForDev
i915 platform: G33, GM45, I915G, PNV i915 features: GEM/Other

Description Martin Peres 2018-09-07 17:50:52 UTC
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.
Comment 1 Chris Wilson 2018-09-07 17:57:01 UTC
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.
Comment 2 Chris Wilson 2018-09-07 17:59:59 UTC
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).
Comment 3 Martin Peres 2018-09-07 18:05:08 UTC
(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 :)
Comment 5 Francesco Balestrieri 2019-03-19 07:43:47 UTC
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)
Comment 6 Francesco Balestrieri 2019-03-19 07:45:36 UTC
Assigning to Matt for investigation. Do the logs reveal anything?
Comment 7 Martin Peres 2019-11-29 17:51:32 UTC
-- 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.