Bug 96974 - [BAT BDW] gem_sync / basic-store-each fails sporadically
Summary: [BAT BDW] gem_sync / basic-store-each fails sporadically
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: x86-64 (AMD64) Linux (All)
: highest critical
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
: 96975 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-07-18 12:57 UTC by Ville Syrjala
Modified: 2016-08-23 21:27 UTC (History)
2 users (show)

See Also:
i915 platform: BDW
i915 features: GEM/Other


Attachments

Description Ville Syrjala 2016-07-18 12:57:02 UTC
Happens on ro-bdw-i7-5600u, maybe 1/3 of the time based on the CI long term history page.

 Stdout 	

IGT-Version: 1.15-g36ffa37 (x86_64) (Linux: 4.7.0-rc6-gfxbench-RO_Patchwork_1484+ x86_64)
bsd completed 31744 cycles: 316.057 us
vebox completed 15360 cycles: 654.773 us
render completed 29696 cycles: 339.167 us
blt completed 24576 cycles: 445.771 us
Stack trace:
  #0 [__igt_fail_assert+0x101]
  #1 [store_ring+0x57b]
  #2 [__real_main692+0x46c]
  #3 [main+0x23]
  #4 [__libc_start_main+0xf0]
  #5 [_start+0x29]
  #6 [<unknown>+0x29]
Subtest basic-store-each: FAIL (10.965s)

Stderr 	

(gem_sync:5897) CRITICAL: Test assertion failure function store_ring, file gem_sync.c:281:
(gem_sync:5897) CRITICAL: Failed assertion: intel_detect_and_clear_missed_interrupts(fd) == 0
(gem_sync:5897) CRITICAL: error: 18 != 0
Subtest basic-store-each failed.
**** DEBUG ****
(gem_sync:5897) CRITICAL: Test assertion failure function store_ring, file gem_sync.c:281:
(gem_sync:5897) CRITICAL: Failed assertion: intel_detect_and_clear_missed_interrupts(fd) == 0
(gem_sync:5897) CRITICAL: error: 18 != 0
****  END  ****

Environment 	

PIGLIT_SOURCE_DIR="/opt/igt/piglit" PIGLIT_PLATFORM="mixed_glx_egl"

Command 	/opt/igt/tests/gem_sync --run-subtest basic-store-each
dmesg 	

[   84.728418] [drm:i915_hangcheck_elapsed [i915]] *ERROR* Hangcheck timer elapsed... video enhancement ring idle
Comment 1 Dave Gordon 2016-07-19 14:06:37 UTC
*** Bug 96975 has been marked as a duplicate of this bug. ***
Comment 2 yann 2016-07-21 07:02:27 UTC
Humberto, can you apply https://patchwork.freedesktop.org/series/10104/ and confirm that issue is fixed? You have to run that test in a loop since it is sporadic.
Comment 3 Chris Wilson 2016-07-21 07:07:26 UTC
Not yet. Perhaps with the third patch, https://patchwork.freedesktop.org/series/10124/ but these races are both highly unlikely and not specific to that one bdw-u. Something is not quite right here.
Comment 4 Chris Wilson 2016-07-21 08:18:24 UTC
https://patchwork.freedesktop.org/series/10124/ appears more promising.
Comment 5 Humberto Israel Perez Rodriguez 2016-07-21 18:22:05 UTC
Hi : 

after apply the patch from : https://patchwork.freedesktop.org/series/10124/
and try for 10 times this test it passed with the following configuration on BDW-U

 Hardware information
============================================
Platform                        : BDW
Motherboard model               : 80E5
Motherboard type                : Lenovo G50-80 Notebook
Motherboard manufacturer        : LENOVO
CPU family                      : Core i5
CPU information                 : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
GPU Card                        : Intel Corporation Broadwell-U Integrated Graphics (rev 09) (prog-if 00 [VGA controller])
Memory ram                      : 6 GB
Maximum memory ram allowed      : 16 GB



Component         : drm
	tag       : libdrm-2.4.69-25-g1af780c
	commit    : 1af780c 

Component         : cairo
	tag       : 1.15.2-49-g56ad58a
	commit    : 56ad58a 

Component         : intel-gpu-tools
	tag       : intel-gpu-tools-1.15-135-g250f047
	commit    : 250f047 


kernel used
================================================
commit 9953d9959d06f69b36255f398ce6158f1e5bb5a8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jul 21 07:57:39 2016 +0100

    drm/i915: Check for a stuck waiter before a missed interrupt

    As the interrupt wakeup counter only increments when we have a waiter,
    before testing to see if that counter is unchanged we have to first
    check that we do expect it to change (i.e. we have a waiter).

    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>


test output
================================================
IGT-Version: 1.15-g250f047 (x86_64) (Linux: 4.7.0-rc7drm-intel-nightly-ww30-commit-9953d99-bug-96974+ x86_64)
(gem_sync:2489) igt-core-DEBUG: Test requirement passed: !igt_run_in_simulation()
(gem_sync:2489) drmtest-DEBUG: Test requirement passed: !(fd<0)
(gem_sync:2489) igt-core-DEBUG: Starting subtest: basic-store-each
blt completed 33792 cycles: 297.076 us
render completed 21504 cycles: 467.875 us
bsd completed 34816 cycles: 290.976 us
vebox completed 32768 cycles: 309.920 us
Subtest basic-store-each: SUCCESS (10.157s)
(gem_sync:2489) igt-core-DEBUG: Exiting with status code 0
Comment 6 Humberto Israel Perez Rodriguez 2016-07-27 20:46:31 UTC
(In reply to Chris Wilson from comment #4)
> https://patchwork.freedesktop.org/series/10124/ appears more promising.

Chris could you tell us when the patch in on nightly branch please ?


Thanks
Comment 7 Chris Wilson 2016-07-27 21:37:53 UTC
The first two are, which more or less indicate that it is not a false positive (or at least from that particular race).
Comment 8 Humberto Israel Perez Rodriguez 2016-08-23 15:43:14 UTC
With the last nightly kernel this test in BDW shows as SKIP

test output
======================================
./gem_sync --run-subtest basic-store-each --debug
[sudo] password for gfx:
IGT-Version: 1.15-gb0658ce (x86_64) (Linux: 4.8.0-rc3-drm-intel-nightly-ww35-commit-5a8708e+ x86_64)
(gem_sync:1541) igt-core-DEBUG: Test requirement passed: !igt_run_in_simulation()
(gem_sync:1541) drmtest-DEBUG: Test requirement passed: !(fd<0)
Using Execlists submission
(gem_sync:1541) igt-core-DEBUG: Starting subtest: basic-store-each
Test requirement not met in function __real_main722, file gem_sync.c:756:
Test requirement: !(IS_BROADWELL(devid))
Subtest basic-store-each: SKIP (0.000s)
(gem_sync:1541) igt-core-DEBUG: Exiting with status code 77

Software Configuration
=======================
Component     : drm
	tag       : libdrm-2.4.70-2-gb214b05
	commit    : b214b05ccd433c484a6a65e491a1a51b19e4811d 
	
Component     : cairo
	tag       : 1.15.2
	commit    : db8a7f1697c49ae4942d2aa49eed52dd73dd9c7a 
	
Component     : intel-gpu-tools
	tag       : intel-gpu-tools-1.15-228-gb0658ce
	commit    : b0658ce76557d4ce00be7252aa60d1b59d8980f6 


 Hardware information
============================================
Platform                        : BDW
Motherboard model               : 80E5
Motherboard type                : Lenovo G50-80 Notebook
Motherboard manufacturer        : LENOVO
CPU family                      : Core i5
CPU information                 : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
GPU Card                        : Intel Corporation Broadwell-U Integrated Graphics (rev 09) (prog-if 00 [VGA controller])
Memory ram                      : 6 GB
Display                         : eDP
CPU thread                      : 4
CPU core                        : 2
Socket                          : Socket BGA1168
Signature                       : Type 0, Family 6, Model 61, Stepping 4
_________________________________________________________________________
Platform                        : BDW
Motherboard type                : NUC5i7RYB Desktop
CPU family                      : Core i7
CPU information                 : Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
GPU Card                        : Intel Corporation Broadwell-U Integrated Graphics (rev 09) (prog-if 00 [VGA controller])
Memory ram                      : 8 GB
Display                         : HDMI
CPU thread                      : 4
CPU core                        : 2
Socket                          : Socket BGA1168
Signature                       : Type 0, Family 6, Model 61, Stepping 4



Kernel used
==============================
commit 5a8708ec5c5bbc8eacf1f5b9cb815e6064e9737b
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Aug 23 14:12:36 2016 +0200

    drm-intel-nightly: 2016y-08m-23d-12h-12m-19s UTC integration manifest

commit f53a8d1853e8a97ad4a6308ffa8a2011fbd80467
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Aug 19 17:24:52 2016 +0100

    drm-intel-nightly: 2016y-08m-19d-16h-24m-21s UTC integration manifest
Comment 9 Chris Wilson 2016-08-23 15:52:35 UTC
Reverted the skip; please retest.
Comment 10 Humberto Israel Perez Rodriguez 2016-08-23 17:26:13 UTC
(In reply to Chris Wilson from comment #9)
> Reverted the skip; please retest.

No sure what's mean this, i've tested as well with the following commit with the same results

commit a0744f39d2948f39be393f4d065c2f383e277ee2
Author: Sean Paul <seanpaul@chromium.org>
Date:   Tue Aug 23 11:36:05 2016 -0400

    drm-intel-nightly: 2016y-08m-23d-15h-35m-47s UTC integration manifest
Comment 11 Chris Wilson 2016-08-23 17:45:27 UTC
I've updated igt so that the test is no longer falsely skipped.
Comment 12 Humberto Israel Perez Rodriguez 2016-08-23 21:26:40 UTC
(In reply to Chris Wilson from comment #11)
> I've updated igt so that the test is no longer falsely skipped.

With the following igt commit this test pass

Component         : intel-gpu-tools
	url       : https://cgit.freedesktop.org/xorg/app/intel-gpu-tools
	tag       : intel-gpu-tools-1.15-236-g76541f4
	commit    : 76541f4
	author    : Chris Wilson <chris@chris-wilson.co.uk>
	age       : 4 hours ago
	comment   : Revert "tests/gem_sync: Skip basic-store-each sub-test on BDW."

This reverts commit 38f84e30e699451cac6c7b45cd603e67b1287f15.


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.