Bug 96701

Summary: [ILK/BSW/APL] [BAT] kms_cursor_legacy some subtest fail with WARNING: page flip 1 was delayed, missed 23 frames etc.
Product: DRI Reporter: Humberto Israel Perez Rodriguez <humberto.i.perez.rodriguez>
Component: DRM/IntelAssignee: Imre Deak <imre.deak>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: blocker    
Priority: highest CC: gary.c.wang, intel-gfx-bugs
Version: XOrg git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: BSW/CHT, BXT, ILK i915 features: display/Other
Attachments:
Description Flags
dmesg
none
APL_kern.log
none
APL-1000Hz-kms_cursor_legacy-kern.log
none
Fix missed page flip error in basic_cursor_vs_flip
none
mutex starvation fix
none
mutex starvation fix with proper patch names
none
mutex starvation fix rebased patch 4
none
mutex starvation fix with compile fix none

Description Humberto Israel Perez Rodriguez 2016-06-27 23:52:49 UTC
Created attachment 124746 [details]
dmesg

Bug description
=============================
after execute some kms_cursor_legacy subtest basic-flip-vs-cursor / basic-cursor-vs-flip causes [i915]] *ERROR* Potential atomic update failure on pipe A 


Regresion
======================
No, this are new tests cases


Steps to reproduce
=============================
./kms_cursor_legacy --run-subtest basic-flip-vs-cursor --debug
./kms_cursor_legacy --run-subtest basic-cursor-vs-flip --debug


Expected results
=============================
test must passed or skipped

Actual result
=============================
Tests are failing


Additional information
=============================
if i test this two tests without DP or HDMI (only with eDP) this are skipped

IGT-Version: 1.15-g88c1f7c (x86_64) (Linux: 4.7.0-rc4-nightly+ x86_64)
(kms_cursor_legacy:1338) igt-core-DEBUG: Test requirement passed: !igt_run_in_simulation()
(kms_cursor_legacy:1338) drmtest-DEBUG: Test requirement passed: fd >= 0
(kms_cursor_legacy:1338) drmtest-DEBUG: Test requirement passed: fd >= 0
(kms_cursor_legacy:1338) drmtest-DEBUG: Test requirement passed: drmSetMaster(fd) == 0
(kms_cursor_legacy:1338) igt-kms-DEBUG: VT: graphics mode set (mode was 0x0)
(kms_cursor_legacy:1338) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1338) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1338) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
Test requirement not met in function __real_main436, file kms_cursor_legacy.c:457:
Test requirement: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1338) igt-core-DEBUG: Starting subtest: basic-cursor-vs-flip
(kms_cursor_legacy:1338) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1024, height=768, format=0x34325258, tiling=0x0, size=0)
(kms_cursor_legacy:1338) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=4096)
Test requirement not met in function basic_cursor_vs_flip, file kms_cursor_legacy.c:378:
Test requirement: set_fb_on_crtc(data, 0, &fb_info)
Subtest basic-cursor-vs-flip: SKIP (0.001s)
(kms_cursor_legacy:1338) igt-core-DEBUG: Exiting with status code 77
(kms_cursor_legacy:1338) igt-kms-DEBUG: VT: original mode 0x0 restored





Test output for ./kms_cursor_legacy --run-subtest basic-flip-vs-cursor --debug
=====================================================
IGT-Version: 1.15-g88c1f7c (x86_64) (Linux: 4.7.0-rc4-nightly+ x86_64)
(kms_cursor_legacy:1304) igt-core-DEBUG: Test requirement passed: !igt_run_in_simulation()
(kms_cursor_legacy:1304) drmtest-DEBUG: Test requirement passed: fd >= 0
(kms_cursor_legacy:1304) drmtest-DEBUG: Test requirement passed: fd >= 0
(kms_cursor_legacy:1304) drmtest-DEBUG: Test requirement passed: drmSetMaster(fd) == 0
(kms_cursor_legacy:1304) igt-kms-DEBUG: VT: graphics mode set (mode was 0x0)
(kms_cursor_legacy:1304) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1304) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1304) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
Test requirement not met in function __real_main436, file kms_cursor_legacy.c:457:
Test requirement: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1304) igt-core-DEBUG: Starting subtest: basic-flip-vs-cursor
(kms_cursor_legacy:1304) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1024, height=768, format=0x34325258, tiling=0x0, size=0)
(kms_cursor_legacy:1304) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=4096)
(kms_cursor_legacy:1304) DEBUG: Test requirement passed: set_fb_on_crtc(data, 0, &fb_info)
(kms_cursor_legacy:1304) DEBUG: Test requirement passed: target > 1
(kms_cursor_legacy:1304) DEBUG: Using a target of 32 cursor updates per half-vblank
(kms_cursor_legacy:1304) CRITICAL: Test assertion failure function basic_flip_vs_cursor, file kms_cursor_legacy.c:341:
(kms_cursor_legacy:1304) CRITICAL: Failed assertion: get_vblank(data->fd, 0, 0) == vblank_start
(kms_cursor_legacy:1304) CRITICAL: error: 3747 != 3746
Stack trace:
  #0 [__igt_fail_assert+0x101]
  #1 [basic_flip_vs_cursor+0x45b]
  #2 [<unknown>+0x45b]
Subtest basic-flip-vs-cursor failed.
**** DEBUG ****
(kms_cursor_legacy:1304) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1024, height=768, format=0x34325258, tiling=0x0, size=0)
(kms_cursor_legacy:1304) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=4096)
(kms_cursor_legacy:1304) DEBUG: Test requirement passed: set_fb_on_crtc(data, 0, &fb_info)
(kms_cursor_legacy:1304) DEBUG: Test requirement passed: target > 1
(kms_cursor_legacy:1304) DEBUG: Using a target of 32 cursor updates per half-vblank
(kms_cursor_legacy:1304) CRITICAL: Test assertion failure function basic_flip_vs_cursor, file kms_cursor_legacy.c:341:
(kms_cursor_legacy:1304) CRITICAL: Failed assertion: get_vblank(data->fd, 0, 0) == vblank_start
(kms_cursor_legacy:1304) CRITICAL: error: 3747 != 3746
****  END  ****
Subtest basic-flip-vs-cursor: FAIL (1.490s)
(kms_cursor_legacy:1304) igt-core-DEBUG: Exiting with status code 99
(kms_cursor_legacy:1304) igt-kms-DEBUG: VT: original mode 0x0 restored


Test output for ./kms_cursor_legacy --run-subtest basic-cursor-vs-flip --debug
==============================================================
IGT-Version: 1.15-g88c1f7c (x86_64) (Linux: 4.7.0-rc4-nightly+ x86_64)
(kms_cursor_legacy:1365) igt-core-DEBUG: Test requirement passed: !igt_run_in_simulation()
(kms_cursor_legacy:1365) drmtest-DEBUG: Test requirement passed: fd >= 0
(kms_cursor_legacy:1365) drmtest-DEBUG: Test requirement passed: fd >= 0
(kms_cursor_legacy:1365) drmtest-DEBUG: Test requirement passed: drmSetMaster(fd) == 0
(kms_cursor_legacy:1365) igt-kms-DEBUG: VT: graphics mode set (mode was 0x0)
(kms_cursor_legacy:1365) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1365) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1365) DEBUG: Test requirement passed: !(n >= data.resources->count_crtcs)
Test requirement not met in function __real_main436, file kms_cursor_legacy.c:457:
Test requirement: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1365) igt-core-DEBUG: Starting subtest: basic-cursor-vs-flip
(kms_cursor_legacy:1365) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1024, height=768, format=0x34325258, tiling=0x0, size=0)
(kms_cursor_legacy:1365) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=4096)
(kms_cursor_legacy:1365) DEBUG: Test requirement passed: set_fb_on_crtc(data, 0, &fb_info)
(kms_cursor_legacy:1365) DEBUG: Test requirement passed: target > 1
(kms_cursor_legacy:1365) DEBUG: Using a target of 32 cursor updates per half-vblank
(kms_cursor_legacy:1365) WARNING: page flip 1 was delayed, missed 23 frames
(kms_cursor_legacy:1365) WARNING: page flip 2 was delayed, missed 5 frames
(kms_cursor_legacy:1365) WARNING: page flip 3 was delayed, missed 88 frames
(kms_cursor_legacy:1365) WARNING: page flip 4 was delayed, missed 14 frames
(kms_cursor_legacy:1365) WARNING: page flip 5 was delayed, missed 23 frames
(kms_cursor_legacy:1365) WARNING: page flip 6 was delayed, missed 7 frames
(kms_cursor_legacy:1365) WARNING: page flip 7 was delayed, missed 57 frames
(kms_cursor_legacy:1365) WARNING: page flip 8 was delayed, missed 3 frames
(kms_cursor_legacy:1365) WARNING: page flip 9 was delayed, missed 15 frames
(kms_cursor_legacy:1365) WARNING: page flip 10 was delayed, missed 9 frames
(kms_cursor_legacy:1365) WARNING: page flip 11 was delayed, missed 5 frames
(kms_cursor_legacy:1365) WARNING: page flip 12 was delayed, missed 1 frames
(kms_cursor_legacy:1365) WARNING: page flip 13 was delayed, missed 31 frames
(kms_cursor_legacy:1365) WARNING: page flip 14 was delayed, missed 14 frames
(kms_cursor_legacy:1365) WARNING: page flip 15 was delayed, missed 22 frames
(kms_cursor_legacy:1365) WARNING: page flip 18 was delayed, missed 6 frames
(kms_cursor_legacy:1365) WARNING: page flip 20 was delayed, missed 1 frames
(kms_cursor_legacy:1365) WARNING: page flip 21 was delayed, missed 2 frames
(kms_cursor_legacy:1365) WARNING: page flip 24 was delayed, missed 55 frames
(kms_cursor_legacy:1365) WARNING: page flip 28 was delayed, missed 17 frames
(kms_cursor_legacy:1365) WARNING: page flip 29 was delayed, missed 41 frames
(kms_cursor_legacy:1365) WARNING: page flip 30 was delayed, missed 83 frames
(kms_cursor_legacy:1365) WARNING: page flip 32 was delayed, missed 88 frames
(kms_cursor_legacy:1365) WARNING: page flip 34 was delayed, missed 7 frames
(kms_cursor_legacy:1365) WARNING: page flip 37 was delayed, missed 70 frames
(kms_cursor_legacy:1365) WARNING: page flip 38 was delayed, missed 32 frames
(kms_cursor_legacy:1365) WARNING: page flip 39 was delayed, missed 31 frames
(kms_cursor_legacy:1365) WARNING: page flip 40 was delayed, missed 6 frames
(kms_cursor_legacy:1365) WARNING: page flip 41 was delayed, missed 17 frames
(kms_cursor_legacy:1365) WARNING: page flip 42 was delayed, missed 50 frames
(kms_cursor_legacy:1365) WARNING: page flip 43 was delayed, missed 93 frames
(kms_cursor_legacy:1365) WARNING: page flip 44 was delayed, missed 27 frames
(kms_cursor_legacy:1365) WARNING: page flip 45 was delayed, missed 4 frames
(kms_cursor_legacy:1365) WARNING: page flip 47 was delayed, missed 19 frames
(kms_cursor_legacy:1365) WARNING: page flip 48 was delayed, missed 5 frames
(kms_cursor_legacy:1365) WARNING: page flip 49 was delayed, missed 2 frames
(kms_cursor_legacy:1365) WARNING: page flip 51 was delayed, missed 43 frames
(kms_cursor_legacy:1365) WARNING: page flip 52 was delayed, missed 43 frames
(kms_cursor_legacy:1365) WARNING: page flip 53 was delayed, missed 7 frames
(kms_cursor_legacy:1365) WARNING: page flip 54 was delayed, missed 4 frames
(kms_cursor_legacy:1365) WARNING: page flip 56 was delayed, missed 73 frames
(kms_cursor_legacy:1365) WARNING: page flip 57 was delayed, missed 6 frames
(kms_cursor_legacy:1365) WARNING: page flip 59 was delayed, missed 22 frames
(kms_cursor_legacy:1365) CRITICAL: Test assertion failure function basic_cursor_vs_flip, file kms_cursor_legacy.c:420:
(kms_cursor_legacy:1365) CRITICAL: Failed assertion: vbl.sequence == vblank_start + 60
(kms_cursor_legacy:1365) CRITICAL: error: 14749 != 13578
Stack trace:
  #0 [__igt_fail_assert+0x101]
  #1 [basic_cursor_vs_flip+0x4f0]
  #2 [<unknown>+0x4f0]
Subtest basic-cursor-vs-flip failed.
**** DEBUG ****
(kms_cursor_legacy:1365) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1024, height=768, format=0x34325258, tiling=0x0, size=0)
(kms_cursor_legacy:1365) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=4096)
(kms_cursor_legacy:1365) DEBUG: Test requirement passed: set_fb_on_crtc(data, 0, &fb_info)
(kms_cursor_legacy:1365) DEBUG: Test requirement passed: target > 1
(kms_cursor_legacy:1365) DEBUG: Using a target of 32 cursor updates per half-vblank
(kms_cursor_legacy:1365) WARNING: page flip 1 was delayed, missed 23 frames
(kms_cursor_legacy:1365) WARNING: page flip 2 was delayed, missed 5 frames
(kms_cursor_legacy:1365) WARNING: page flip 3 was delayed, missed 88 frames
(kms_cursor_legacy:1365) WARNING: page flip 4 was delayed, missed 14 frames
(kms_cursor_legacy:1365) WARNING: page flip 5 was delayed, missed 23 frames
(kms_cursor_legacy:1365) WARNING: page flip 6 was delayed, missed 7 frames
(kms_cursor_legacy:1365) WARNING: page flip 7 was delayed, missed 57 frames
(kms_cursor_legacy:1365) WARNING: page flip 8 was delayed, missed 3 frames
(kms_cursor_legacy:1365) WARNING: page flip 9 was delayed, missed 15 frames
(kms_cursor_legacy:1365) WARNING: page flip 10 was delayed, missed 9 frames
(kms_cursor_legacy:1365) WARNING: page flip 11 was delayed, missed 5 frames
(kms_cursor_legacy:1365) WARNING: page flip 12 was delayed, missed 1 frames
(kms_cursor_legacy:1365) WARNING: page flip 13 was delayed, missed 31 frames
(kms_cursor_legacy:1365) WARNING: page flip 14 was delayed, missed 14 frames
(kms_cursor_legacy:1365) WARNING: page flip 15 was delayed, missed 22 frames
(kms_cursor_legacy:1365) WARNING: page flip 18 was delayed, missed 6 frames
(kms_cursor_legacy:1365) WARNING: page flip 20 was delayed, missed 1 frames
(kms_cursor_legacy:1365) WARNING: page flip 21 was delayed, missed 2 frames
(kms_cursor_legacy:1365) WARNING: page flip 24 was delayed, missed 55 frames
(kms_cursor_legacy:1365) WARNING: page flip 28 was delayed, missed 17 frames
(kms_cursor_legacy:1365) WARNING: page flip 29 was delayed, missed 41 frames
(kms_cursor_legacy:1365) WARNING: page flip 30 was delayed, missed 83 frames
(kms_cursor_legacy:1365) WARNING: page flip 32 was delayed, missed 88 frames
(kms_cursor_legacy:1365) WARNING: page flip 34 was delayed, missed 7 frames
(kms_cursor_legacy:1365) WARNING: page flip 37 was delayed, missed 70 frames
(kms_cursor_legacy:1365) WARNING: page flip 38 was delayed, missed 32 frames
(kms_cursor_legacy:1365) WARNING: page flip 39 was delayed, missed 31 frames
(kms_cursor_legacy:1365) WARNING: page flip 40 was delayed, missed 6 frames
(kms_cursor_legacy:1365) WARNING: page flip 41 was delayed, missed 17 frames
(kms_cursor_legacy:1365) WARNING: page flip 42 was delayed, missed 50 frames
(kms_cursor_legacy:1365) WARNING: page flip 43 was delayed, missed 93 frames
(kms_cursor_legacy:1365) WARNING: page flip 44 was delayed, missed 27 frames
(kms_cursor_legacy:1365) WARNING: page flip 45 was delayed, missed 4 frames
(kms_cursor_legacy:1365) WARNING: page flip 47 was delayed, missed 19 frames
(kms_cursor_legacy:1365) WARNING: page flip 48 was delayed, missed 5 frames
(kms_cursor_legacy:1365) WARNING: page flip 49 was delayed, missed 2 frames
(kms_cursor_legacy:1365) WARNING: page flip 51 was delayed, missed 43 frames
(kms_cursor_legacy:1365) WARNING: page flip 52 was delayed, missed 43 frames
(kms_cursor_legacy:1365) WARNING: page flip 53 was delayed, missed 7 frames
(kms_cursor_legacy:1365) WARNING: page flip 54 was delayed, missed 4 frames
(kms_cursor_legacy:1365) WARNING: page flip 56 was delayed, missed 73 frames
(kms_cursor_legacy:1365) WARNING: page flip 57 was delayed, missed 6 frames
(kms_cursor_legacy:1365) WARNING: page flip 59 was delayed, missed 22 frames
(kms_cursor_legacy:1365) CRITICAL: Test assertion failure function basic_cursor_vs_flip, file kms_cursor_legacy.c:420:
(kms_cursor_legacy:1365) CRITICAL: Failed assertion: vbl.sequence == vblank_start + 60
(kms_cursor_legacy:1365) CRITICAL: error: 14749 != 13578
****  END  ****
Subtest basic-cursor-vs-flip: FAIL (17.621s)
(kms_cursor_legacy:1365) igt-core-DEBUG: Exiting with status code 99
(kms_cursor_legacy:1365) igt-kms-DEBUG: VT: original mode 0x0 restored





Relevant dmesg output
=============================================================
kern  :err   : [Mon Jun 27 18:39:13 2016] efi: requested map not found.
kern  :err   : [Mon Jun 27 18:39:13 2016] esrt: ESRT header is not in the memory map.
kern  :err   : [Mon Jun 27 18:39:14 2016] atkbd serio0: Failed to deactivate keyboard on isa0060/serio0
kern  :err   : [Mon Jun 27 18:39:14 2016] atkbd serio0: Failed to enable keyboard on isa0060/serio0
kern  :err   : [Mon Jun 27 18:39:19 2016] tpm_crb MSFT0101:00: A TPM error (257) occurred continue selftest
kern  :err   : [Mon Jun 27 18:39:30 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:39:13 2016] efi: requested map not found.
kern  :err   : [Mon Jun 27 18:39:13 2016] esrt: ESRT header is not in the memory map.
kern  :err   : [Mon Jun 27 18:39:14 2016] atkbd serio0: Failed to deactivate keyboard on isa0060/serio0
kern  :err   : [Mon Jun 27 18:39:14 2016] atkbd serio0: Failed to enable keyboard on isa0060/serio0
kern  :err   : [Mon Jun 27 18:39:19 2016] tpm_crb MSFT0101:00: A TPM error (257) occurred continue selftest
kern  :err   : [Mon Jun 27 18:39:30 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe C
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe C
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe C
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:10 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe C
kern  :err   : [Mon Jun 27 18:40:11 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:11 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:12 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
kern  :err   : [Mon Jun 27 18:40:12 2016] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe C


Software Configuration
======================
 --> Component : drm 
	 url : http://cgit.freedesktop.org/mesa/drm 
	 tag : libdrm-2.4.68-9-g625d181 
	 commit : 625d181 
	 author : Marek Olšák <marek.olsak@amd.com> 
	 age : 5 weeks ago 
 --> Component : cairo 
	 url : http://cgit.freedesktop.org/cairo 
	 tag : 1.15.2 
	 commit : db8a7f1 
	 author : Bryce Harrington <bryce@osg.samsung.com> 
	 age : 7 months ago 
 --> Component : intel-gpu-tools 
	 url : http://cgit.freedesktop.org/xorg/app/intel-gpu-tools 
	 tag : intel-gpu-tools-1.15-54-g88c1f7c 
	 commit : 88c1f7c 
	 author : Chris Wilson <chris@chris-wilson.co.uk> 
	 age : 4 days ago 


Hardware configuration
============================================
Platform                        : BXT-P
Motherboard model               : Broxton P
Motherboard type                : NOTEBOOK Hand Held
Motherboard manufacturer        : Intel Corp.
CPU family                      : B1
CPU information                 : 06/5c
GPU Card                        : Intel Corporation Device 5a84 (rev 0a) (prog-if 00 [VGA controller])
Memory ram                      : 16 GB


Firmwares information
============================================
DMC fw loaded                   : yes
DMC version                     : 1.7
GUC fw loaded                   : SUCCESS
GUC version wanted              : 8.7
GUC version found               : 8.7




Attachments
==============================
dmesg
Comment 1 Humberto Israel Perez Rodriguez 2016-06-30 16:42:51 UTC
The following tests cases fail with the next configuration

Tests cases
============================================
igt@kms_cursor_legacy@long-cursor-vs-flip
igt@kms_cursor_legacy@basic-flip-vs-cursor
igt@kms_cursor_legacy@basic-cursor-vs-flip
igt@kms_cursor_legacy@long-flip-vs-cursor


Software information
============================================
Kernel version                  : 4.7.0-rc4-drm-intel-nightly-ww26-commit-5c244f4+
Linux distribution              : Ubuntu 16.04 LTS
Architecture                    : 64-bit

Hardware information
============================================
Platform                        : BXT-P
Motherboard model               : Broxton P
Motherboard type                : NOTEBOOK Hand Held
Motherboard manufacturer        : Intel Corp.
CPU family                      : B1
CPU information                 : 06/5c
GPU Card                        : Intel Corporation Device 5a84 (rev 0a) (prog-if 00 [VGA controller])
Memory ram                      : 16 GB

Firmwares information
============================================
DMC fw loaded                   : yes
DMC version                     : 1.7
GUC fw loaded                   : SUCCESS
GUC version wanted              : 8.7
GUC version found               : 8.7

 
 --> Component : drm 
	 url : http://cgit.freedesktop.org/mesa/drm 
	 tag : libdrm-2.4.68-9-g625d181 
	 commit : 625d181 
 --> Component : cairo 
	 url : http://cgit.freedesktop.org/cairo 
	 tag : 1.15.2 
	 commit : db8a7f1 
 --> Component : intel-gpu-tools 
	 url : http://cgit.freedesktop.org/xorg/app/intel-gpu-tools 
	 tag : intel-gpu-tools-1.15-54-g88c1f7c 
	 commit : 88c1f7c 

Kernel information
============================================
commit 8a6521c80881208ba106696e67d143ab64bb34c2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Jun 29 17:08:50 2016 +0100

    drm-intel-nightly: 2016y-06m-29d-16h-08m-16s UTC integration manifest
Comment 2 Luis Botello 2016-07-04 21:07:52 UTC
Issue is still seen on APL with the following config:

 Software information
============================================
Kernel version                  : 4.7.0-rc5-nightly+
Linux distribution              : Ubuntu 16.04 LTS
Architecture                    : 64-bit
Mesa version                    : Not found << Please see the message at the bottom >>
xf86-video-intel version        : 2.99.917
Xorg-Xserver version            : 1.18.99.1
DRM version                     : 2.4.68
VAAPI version                   : Intel i965 driver for Intel(R) Broxton - 1.7.2.pre1 (1.7.0-53-gbcde10d)
Cairo version                   : 1.15.2
Intel GPU Tools version         : 1.14-1 <-- This is a generic version of IGT
Kernel driver in use            : i915
Hardware acceleration           :
Bios revision                   : 144.10
KSC revision                    : 1.6


 Hardware information
============================================
Platform                        : BXT-P
Motherboard model               : Broxton P
Motherboard manufacturer        : Intel Corp.
GPU Card                        : Intel Corporation Device 5a84 (rev 0a) (prog-if 00 [VGA controller])

 Firmwares information
============================================
DMC version                     : 1.7
GUC version found               : 8.7
Comment 3 cprigent 2016-07-05 14:36:09 UTC
Created attachment 124907 [details]
APL_kern.log

Tested on APL with kernel boot command line: "i915.nuclear_pageflip=1".
Only basic-cursor-vs-flip is fail.

# ./kms_cursor_legacy --r basic-cursor-vs-flip
IGT-Version: 1.15-g88c1f7c (x86_64) (Linux: 4.7.0-rc5-nightly+ x86_64)
Test requirement not met in function __real_main436, file kms_cursor_legacy.c:457:
Test requirement: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1919) WARNING: page flip 47 was delayed, missed 11 frames
(kms_cursor_legacy:1919) WARNING: page flip 48 was delayed, missed 26 frames
(kms_cursor_legacy:1919) WARNING: page flip 51 was delayed, missed 2 frames
(kms_cursor_legacy:1919) WARNING: page flip 53 was delayed, missed 11 frames
(kms_cursor_legacy:1919) WARNING: page flip 55 was delayed, missed 7 frames
(kms_cursor_legacy:1919) WARNING: page flip 56 was delayed, missed 8 frames
(kms_cursor_legacy:1919) WARNING: page flip 57 was delayed, missed 7 frames
(kms_cursor_legacy:1919) CRITICAL: Test assertion failure function basic_cursor_vs_flip, file kms_cursor_legacy.c:420:
(kms_cursor_legacy:1919) CRITICAL: Failed assertion: vbl.sequence == vblank_start + 60
(kms_cursor_legacy:1919) CRITICAL: error: 7060 != 6988
Stack trace:
  #0 [__igt_fail_assert+0xf1]
  #1 [basic_cursor_vs_flip+0x4d7]
  #2 [__real_main436+0x5c2]
  #3 [main+0x29]
  #4 [__libc_start_main+0xf0]
  #5 [_start+0x29]
  #6 [<unknown>+0x29]
Subtest basic-cursor-vs-flip failed.
**** DEBUG ****
(kms_cursor_legacy:1919) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1024, height=768, format=0x34325258, tiling=0x0, size=0)
(kms_cursor_legacy:1919) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=4096)
(kms_cursor_legacy:1919) DEBUG: Test requirement passed: set_fb_on_crtc(data, 0, &fb_info)
(kms_cursor_legacy:1919) DEBUG: Test requirement passed: target > 1
(kms_cursor_legacy:1919) DEBUG: Using a target of 128 cursor updates per half-vblank
(kms_cursor_legacy:1919) WARNING: page flip 47 was delayed, missed 11 frames
(kms_cursor_legacy:1919) WARNING: page flip 48 was delayed, missed 26 frames
(kms_cursor_legacy:1919) WARNING: page flip 51 was delayed, missed 2 frames
(kms_cursor_legacy:1919) WARNING: page flip 53 was delayed, missed 11 frames
(kms_cursor_legacy:1919) WARNING: page flip 55 was delayed, missed 7 frames
(kms_cursor_legacy:1919) WARNING: page flip 56 was delayed, missed 8 frames
(kms_cursor_legacy:1919) WARNING: page flip 57 was delayed, missed 7 frames
(kms_cursor_legacy:1919) CRITICAL: Test assertion failure function basic_cursor_vs_flip, file kms_cursor_legacy.c:420:
(kms_cursor_legacy:1919) CRITICAL: Failed assertion: vbl.sequence == vblank_start + 60
(kms_cursor_legacy:1919) CRITICAL: error: 7060 != 6988
****  END  ****
Subtest basic-cursor-vs-flip: FAIL (2.782s)

Platform: APL system
CPU Name : Intel(R) Genuine Processor @ 1.1 GHz (family: 6, model: 12, stepping: 9) 4 cores
QDF : Q6HE
SoC : B1
CRB : Apollo Lake DDR3L RVP1A FAB2
Reworks : R19, R20

Software 
Bios: 144_B10 - APLK_B0_IFWI_X64_R_2016_06_27_0956_SPI_RVP1 from from \\gar\ec\proj\ba\CCG\APL BIOS\External\BIOS_Release\Daily\v144_10_2016_WW27.1\IFWI\IFWI_RVP1_Release\IFWI
KSC: 1.15
Linux distribution: Ubuntu 16.04 64 bits
Kernel: drm-intel-nightly 4.7.0-rc4 5c244f4 from http://cgit.freedesktop.org/drm-intel/
                commit 5c244f4b128c6274755007e080d46e0a61b71534
                Author: Chris Wilson <chris@chris-wilson.co.uk>
                Date:   Fri Jun 24 16:17:56 2016 +0100
                drm-intel-nightly: 2016y-06m-24d-15h-17m-32s UTC integration manifest
drm: libdrm-2.4.68-9 625d181 from git://anongit.freedesktop.org/mesa/drm
mesa: mesa-11.2.2 56cd706 from git://anongit.freedesktop.org/mesa/mesa
cairo: 1.15.2 db8a7f1 from git://anongit.freedesktop.org/cairo
server: xorg-server-1.18.0-419 7397a21 from git://git.freedesktop.org/git/xorg/xserver
xf86-video-intel: 2.99.917-670 cac7c8d from git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
libva: libva-1.7.0-26 c36971c from git://git.freedesktop.org/git/vaapi/libva
vaapi-intel-driver: 1.7.0-52 f47e513 from git://git.freedesktop.org/git/vaapi/intel-driver
DMC 1.07
GuC 8.7
Intel-Gpu-Tools: 1.15-54 88c1f7c from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
Comment 4 cprigent 2016-07-06 17:37:01 UTC
Checking backtrace, we see same root cause than in bug 96419

*** This bug has been marked as a duplicate of bug 96419 ***
Comment 5 Chris Wilson 2016-07-06 17:49:37 UTC
Wrong bug?
Comment 6 cprigent 2016-07-12 08:17:28 UTC
I see the same log on my side than posted here: https://bugs.freedesktop.org/show_bug.cgi?id=96419#c0

Reprouced with:
Platform: APL system
CPU Name : Intel(R) Genuine Processor @ 1.1 GHz (family: 6, model: 12, stepping: 9) 4 cores
QDF : Q6HE
SoC : B1
CRB : Apollo Lake DDR3L RVP1A FAB2
Reworks : R19, R20

Software 
Bios: 144_B10 APLK_B0_IFWI_X64_R_2016_06_27_0956_SPI_RVP1.bin from \\gar\ec\proj\ba\CCG\APL BIOS\External\BIOS_Release\Daily\v144_10_2016_WW27.1\IFWI\IFWI_RVP1_Release\IFWI
KSC: 1.15
Linux distribution: Ubuntu 16.04 64 bits
Kernel: tag drm-intel-testing-2016-07-11 4.7.0-rc6 0230e3c from http://cgit.freedesktop.org/drm-intel/
commit 0230e3c4eb76cf8f57cf40db0e908b96b84e3911
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Jul 10 13:24:46 2016 +0100
drm-intel-nightly: 2016y-07m-10d-12h-23m-38s UTC integration manifest
drm: libdrm-2.4.68-14 8c8d5ddfrom git://anongit.freedesktop.org/mesa/drm
mesa: mesa-11.2.2 3a9f628from git://anongit.freedesktop.org/mesa/mesa
cairo: 1.15.2 db8a7f1 from git://anongit.freedesktop.org/cairo
xserver: xorg-server-1.18.0-454 033888e from git://git.freedesktop.org/git/xorg/xserver
xf86-video-intel: 2.99.917-676 26f8ab5 from git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
libva: libva-1.7.0-26 c36971c from git://git.freedesktop.org/git/vaapi/libva
vaapi-intel-driver: 1.7.0-53 bcde10d from git://git.freedesktop.org/git/vaapi/intel-driver
GuC 8.7
DMC 1.07 from https://01.org/linuxgraphics/downloads/broxton-dmc-1.07
Intel-Gpu-Tools 1.15 2038b24 from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
Comment 7 cprigent 2016-07-12 09:56:59 UTC
Checked again without external screens, the test is skip with same reason than here:
http://benchsrv.fi.intel.com/archive/results/CI_IGT_test/CI_DRM_1416/bxtp-1/html/bxtp-1@CI_DRM_1416@1/igt@kms_cursor_legacy@basic-flip-vs-cursor.html

My screens: Asus PB238Q (HDMI), Dell U2311Hb (DP), B116HAN03.3 (eDP)
Comment 8 yann 2016-07-12 12:05:27 UTC

*** This bug has been marked as a duplicate of bug 91883 ***
Comment 9 Chris Wilson 2016-07-12 12:16:43 UTC
(In reply to yann from comment #8)
> 
> *** This bug has been marked as a duplicate of bug 91883 ***

We don't require a second display for this test to fail. Different bug?
Comment 10 yann 2016-07-12 12:53:32 UTC
(In reply to Chris Wilson from comment #9)
> (In reply to yann from comment #8)
> > 
> > *** This bug has been marked as a duplicate of bug 91883 ***
> 
> We don't require a second display for this test to fail. Different bug?

I agree that this is certainly not causing the issue but on APL, with eDP only the test is simply skipped but with another display connected, subtest precondition is met, subtest is executed and then fail. So this is mainly test trigger to reproduce issue.
Comment 11 Imre Deak 2016-07-13 15:39:35 UTC
Could you provide the following from your kconfig file:

grep HZ .config

If this shows that you have a HZ<1000, could you rebuild your kernel with HZ=1000 (Processor types and features/Timer frequency) and rerun the
basic-cursor-vs-flip test?
Comment 12 yann 2016-07-13 16:04:14 UTC
Just check the config we used: 
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250

will retry with 1000
Comment 13 cprigent 2016-07-13 17:11:01 UTC
Created attachment 125059 [details]
APL-1000Hz-kms_cursor_legacy-kern.log

Tested with 1000 Hz, it still fails:

qa@BXTP5:~$ cat /boot/config-4.7.0-rc6-testing+ |grep CONFIG_HZ
# CONFIG_HZ_PERIODIC is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
qa@BXTP5:~$
qa@BXTP5:~$
qa@BXTP5:~$
qa@BXTP5:~$ cd /opt/X11R7/src/intel-gpu-tools/tests
qa@BXTP5:/opt/X11R7/src/intel-gpu-tools/tests$ sudo -s
[sudo] password for qa:
root@BXTP5:/opt/X11R7/src/intel-gpu-tools/tests#
root@BXTP5:/opt/X11R7/src/intel-gpu-tools/tests#
root@BXTP5:/opt/X11R7/src/intel-gpu-tools/tests# ./kms_cursor_legacy --r basic-cursor-vs-flip
IGT-Version: 1.15-g2038b24 (x86_64) (Linux: 4.7.0-rc6-testing+ x86_64)
Test requirement not met in function __real_main427, file kms_cursor_legacy.c:448:
Test requirement: !(n >= data.resources->count_crtcs)
(kms_cursor_legacy:1873) WARNING: page flip 2 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 4 was delayed, missed 2 frames
(kms_cursor_legacy:1873) WARNING: page flip 7 was delayed, missed 5 frames
(kms_cursor_legacy:1873) WARNING: page flip 8 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 10 was delayed, missed 6 frames
(kms_cursor_legacy:1873) WARNING: page flip 12 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 16 was delayed, missed 3 frames
(kms_cursor_legacy:1873) WARNING: page flip 19 was delayed, missed 2 frames
(kms_cursor_legacy:1873) WARNING: page flip 21 was delayed, missed 3 frames
(kms_cursor_legacy:1873) WARNING: page flip 25 was delayed, missed 4 frames
(kms_cursor_legacy:1873) WARNING: page flip 27 was delayed, missed 19 frames
(kms_cursor_legacy:1873) WARNING: page flip 31 was delayed, missed 10 frames
(kms_cursor_legacy:1873) WARNING: page flip 34 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 42 was delayed, missed 10 frames
(kms_cursor_legacy:1873) WARNING: page flip 45 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 46 was delayed, missed 3 frames
(kms_cursor_legacy:1873) WARNING: page flip 49 was delayed, missed 2 frames
(kms_cursor_legacy:1873) WARNING: page flip 51 was delayed, missed 18 frames
(kms_cursor_legacy:1873) WARNING: page flip 53 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 55 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 58 was delayed, missed 3 frames
(kms_cursor_legacy:1873) CRITICAL: Test assertion failure function basic_cursor_vs_flip, file kms_cursor_legacy.c:411:
(kms_cursor_legacy:1873) CRITICAL: Failed assertion: vbl.sequence == vblank_start + 60
(kms_cursor_legacy:1873) CRITICAL: error: 6264 != 6167
Stack trace:
  #0 [__igt_fail_assert+0xf1]
  #1 [basic_cursor_vs_flip+0x4d7]
  #2 [__real_main427+0x5c2]
  #3 [main+0x29]
  #4 [__libc_start_main+0xf0]
  #5 [_start+0x29]
  #6 [<unknown>+0x29]
Subtest basic-cursor-vs-flip failed.
**** DEBUG ****
(kms_cursor_legacy:1873) igt-fb-DEBUG: igt_create_fb_with_bo_size(width=1024, height=768, format=0x34325258, tiling=0x0, size=0)
(kms_cursor_legacy:1873) igt-fb-DEBUG: igt_create_fb_with_bo_size(handle=2, pitch=4096)
(kms_cursor_legacy:1873) DEBUG: Test requirement passed: set_fb_on_crtc(data, 0, &fb_info)
(kms_cursor_legacy:1873) DEBUG: Test requirement passed: target > 1
(kms_cursor_legacy:1873) DEBUG: Using a target of 64 cursor updates per half-vblank
(kms_cursor_legacy:1873) WARNING: page flip 2 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 4 was delayed, missed 2 frames
(kms_cursor_legacy:1873) WARNING: page flip 7 was delayed, missed 5 frames
(kms_cursor_legacy:1873) WARNING: page flip 8 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 10 was delayed, missed 6 frames
(kms_cursor_legacy:1873) WARNING: page flip 12 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 16 was delayed, missed 3 frames
(kms_cursor_legacy:1873) WARNING: page flip 19 was delayed, missed 2 frames
(kms_cursor_legacy:1873) WARNING: page flip 21 was delayed, missed 3 frames
(kms_cursor_legacy:1873) WARNING: page flip 25 was delayed, missed 4 frames
(kms_cursor_legacy:1873) WARNING: page flip 27 was delayed, missed 19 frames
(kms_cursor_legacy:1873) WARNING: page flip 31 was delayed, missed 10 frames
(kms_cursor_legacy:1873) WARNING: page flip 34 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 42 was delayed, missed 10 frames
(kms_cursor_legacy:1873) WARNING: page flip 45 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 46 was delayed, missed 3 frames
(kms_cursor_legacy:1873) WARNING: page flip 49 was delayed, missed 2 frames
(kms_cursor_legacy:1873) WARNING: page flip 51 was delayed, missed 18 frames
(kms_cursor_legacy:1873) WARNING: page flip 53 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 55 was delayed, missed 1 frames
(kms_cursor_legacy:1873) WARNING: page flip 58 was delayed, missed 3 frames
(kms_cursor_legacy:1873) CRITICAL: Test assertion failure function basic_cursor_vs_flip, file kms_cursor_legacy.c:411:
(kms_cursor_legacy:1873) CRITICAL: Failed assertion: vbl.sequence == vblank_start + 60
(kms_cursor_legacy:1873) CRITICAL: error: 6264 != 6167
****  END  ****
Subtest basic-cursor-vs-flip: FAIL (3.078s)
root@BXTP5:/opt/X11R7/src/intel-gpu-tools/tests#
root@BXTP5:/opt/X11R7/src/intel-gpu-tools/tests#
root@BXTP5:/opt/X11R7/src/intel-gpu-tools/tests# ./kms_cursor_legacy --r basic-flip-vs-cursor
IGT-Version: 1.15-g2038b24 (x86_64) (Linux: 4.7.0-rc6-testing+ x86_64)
Test requirement not met in function __real_main427, file kms_cursor_legacy.c:448:
Test requirement: !(n >= data.resources->count_crtcs)
Subtest basic-flip-vs-cursor: SUCCESS (1.223s)

I see in logs:
Jul 13 19:04:39 BXTP5 kernel: [   26.393104] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
...
Comment 14 yann 2016-07-15 11:27:37 UTC
Imre, any udpate on this or track to investigate?
Comment 15 Imre Deak 2016-07-18 08:05:43 UTC
Created attachment 125128 [details] [review]
Fix missed page flip error in basic_cursor_vs_flip

(In reply to yann from comment #14)
> Imre, any udpate on this or track to investigate?

Could you try the attached igt patch?
Comment 16 Chris Wilson 2016-07-18 08:30:17 UTC
(In reply to Imre Deak from comment #15)
> Created attachment 125128 [details] [review] [review]
> Fix missed page flip error in basic_cursor_vs_flip
> 
> (In reply to yann from comment #14)
> > Imre, any udpate on this or track to investigate?
> 
> Could you try the attached igt patch?

Nak. This is a kernel contention issue.
Comment 17 cprigent 2016-07-18 14:37:14 UTC
I just tried with the IGT patch applied. Test is Pass but I see the error in kernel logs.

Kernel nightly 2fe098f 4.7.0-rc7 from https://cgit.freedesktop.org/drm-intel/
  commit 2fe098ff21273583acc9c232ec120675de9cd811
  Author: Chris Wilson <chris@chris-wilson.co.uk>
  Date:   Fri Jul 15 20:42:25 2016 +0100
  drm-intel-nightly: 2016y-07m-15d-19h-42m-01s UTC integration manifest

root@BXTP6:~/intel-gpu-tools/tests# cat /proc/cmdline
vmlinuz root=UUID=a9394a0f-0785-42fb-b164-d080a278295d initrd=/initrd initcall_debug drm.debug=0xe log_buf_len=10M

root@BXTP6:~/intel-gpu-tools/tests# ./kms_cursor_legacy --r basic-cursor-vs-flip
IGT-Version: 1.15-ge7ed4ef (x86_64) (Linux: 4.7.0-rc7-nightly+ x86_64)
Test requirement not met in function __real_main472, file kms_cursor_legacy.c:493:
Test requirement: !(n >= data.resources->count_crtcs)
Subtest basic-cursor-vs-flip: SUCCESS (1,902s)

root@BXTP6:~/intel-gpu-tools/tests# dmesg |grep atomic
[    2.258842] [drm:intel_modeset_checks] New cdclk calculated to be atomic 288000, actual 288000
[    2.346907] [drm:intel_modeset_checks] New cdclk calculated to be atomic 288000, actual 288000
[   43.255319] [drm:intel_modeset_checks] New cdclk calculated to be atomic 288000, actual 288000
[   43.621526] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.631383] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.641246] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.651095] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.660955] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.670808] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.680669] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.690521] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.700384] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.710235] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A
[   43.714559] [drm:intel_modeset_checks] New cdclk calculated to be atomic 288000, actual 288000
[   43.719642] [drm:intel_modeset_checks] New cdclk calculated to be atomic 288000, actual 288000
Comment 18 Imre Deak 2016-07-18 16:35:35 UTC
(In reply to cprigent from comment #17)
> I just tried with the IGT patch applied. Test is Pass but I see the error in
> kernel logs.

Thanks. I think the two issues are separate, so we'd need separate bugs for them.

> 
> Kernel nightly 2fe098f 4.7.0-rc7 from https://cgit.freedesktop.org/drm-intel/
>   commit 2fe098ff21273583acc9c232ec120675de9cd811
>   Author: Chris Wilson <chris@chris-wilson.co.uk>
>   Date:   Fri Jul 15 20:42:25 2016 +0100
>   drm-intel-nightly: 2016y-07m-15d-19h-42m-01s UTC integration manifest
> 
> root@BXTP6:~/intel-gpu-tools/tests# cat /proc/cmdline
> vmlinuz root=UUID=a9394a0f-0785-42fb-b164-d080a278295d initrd=/initrd
> initcall_debug drm.debug=0xe log_buf_len=10M
> 
> root@BXTP6:~/intel-gpu-tools/tests# ./kms_cursor_legacy --r
> basic-cursor-vs-flip
> IGT-Version: 1.15-ge7ed4ef (x86_64) (Linux: 4.7.0-rc7-nightly+ x86_64)
> Test requirement not met in function __real_main472, file
> kms_cursor_legacy.c:493:
> Test requirement: !(n >= data.resources->count_crtcs)
> Subtest basic-cursor-vs-flip: SUCCESS (1,902s)
> 
> root@BXTP6:~/intel-gpu-tools/tests# dmesg |grep atomic
> [    2.258842] [drm:intel_modeset_checks] New cdclk calculated to be atomic
> 288000, actual 288000
> [    2.346907] [drm:intel_modeset_checks] New cdclk calculated to be atomic
> 288000, actual 288000
> [   43.255319] [drm:intel_modeset_checks] New cdclk calculated to be atomic
> 288000, actual 288000
> [   43.621526] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.631383] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.641246] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.651095] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.660955] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.670808] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.680669] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.690521] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.700384] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.710235] [drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic
> update failure on pipe A
> [   43.714559] [drm:intel_modeset_checks] New cdclk calculated to be atomic
> 288000, actual 288000
> [   43.719642] [drm:intel_modeset_checks] New cdclk calculated to be atomic
> 288000, actual 288000
Comment 19 Imre Deak 2016-07-21 15:12:33 UTC
Created attachment 125229 [details]
mutex starvation fix

There are two issues reported in this bug, since they are independent, please open a new ticket for the first one:
(kms_cursor_legacy:1365) WARNING: page flip 1 was delayed, missed 23 frames
and
[drm:intel_pipe_update_start [i915]] *ERROR* Potential atomic update failure on pipe A

For the first issue I attached a kernel fix that is being discussed at
https://lkml.org/lkml/2016/7/18/659
and
https://lkml.org/lkml/2016/7/20/38

This is instead of the IGT fix, could you please give it a try?
Comment 20 Imre Deak 2016-07-21 15:14:54 UTC
Created attachment 125230 [details]
mutex starvation fix with proper patch names
Comment 21 yann 2016-07-21 16:24:56 UTC
(In reply to Imre Deak from comment #20)
> Created attachment 125230 [details]
> mutex starvation fix with proper patch names

following this 2nd issue on bug 97027
Comment 22 yann 2016-07-21 17:09:17 UTC
(In reply to Imre Deak from comment #20)
> Created attachment 125230 [details]
> mutex starvation fix with proper patch names

Humberto, please use this patch and re-run the basic-cursor-vs-flip to confirm that it solve the subtest run issue (ie page flip delayed). Don't pay attention to the "Potential atomic update failure on pipe" which is tracked by bug 97027
Comment 23 Ville Syrjala 2016-08-02 13:15:08 UTC
Seems to happen on ILK as well. ILK has another failure mode as well, filed bug 97187 for that.
Comment 24 Humberto Israel Perez Rodriguez 2016-08-10 16:53:42 UTC
(In reply to yann from comment #22)
> (In reply to Imre Deak from comment #20)
> > Created attachment 125230 [details]
> > mutex starvation fix with proper patch names
> 
> Humberto, please use this patch and re-run the basic-cursor-vs-flip to
> confirm that it solve the subtest run issue (ie page flip delayed). Don't
> pay attention to the "Potential atomic update failure on pipe" which is
> tracked by bug 97027

Hi Yann : 

the patch 4 from the comment 20 cannot be applied in the nitghly kernel it shows the following issue

patch :  0004-Avoid-mutex-starvation-when-optimistic-spinning-is-d.patch
===============================================
patching file include/linux/mutex.h
Hunk #1 FAILED at 57.
1 out of 1 hunk FAILED -- saving rejects to file include/linux/mutex.h.rej
patching file kernel/locking/mutex.c
Hunk #1 FAILED at 55.
Hunk #2 succeeded at 72 (offset 1 line).
Hunk #3 succeeded at 99 (offset 1 line).
Hunk #4 FAILED at 405.
Hunk #5 FAILED at 516.
Hunk #6 succeeded at 584 (offset 45 lines).
Hunk #7 FAILED at 553.
Hunk #8 succeeded at 608 (offset 45 lines).
Hunk #9 succeeded at 643 with fuzz 2 (offset 54 lines).
Hunk #10 succeeded at 656 with fuzz 2 (offset 57 lines).
Hunk #11 succeeded at 859 (offset 58 lines).
Hunk #12 succeeded at 877 (offset 58 lines).
Hunk #13 succeeded at 981 (offset 58 lines).
Hunk #14 succeeded at 996 (offset 58 lines).
Hunk #15 succeeded at 1015 (offset 58 lines).
4 out of 15 hunks FAILED -- saving rejects to file kernel/locking/mutex.c.rej


and when i try to compile the kernel i got an error, the commit which i tried is : e220d4742a6aede8df0c2e9bc25e973c80136bbe
Comment 25 Imre Deak 2016-08-10 18:14:26 UTC
Created attachment 125685 [details]
mutex starvation fix rebased patch 4

(In reply to Humberto Israel Perez Rodriguez from comment #24)
> the patch 4 from the comment 20 cannot be applied in the nitghly kernel it
> shows the following issue

Attached a new patchset with patch 4 rebased, these should apply on current -nightly.
Comment 26 Imre Deak 2016-08-10 18:49:40 UTC
Created attachment 125686 [details]
mutex starvation fix with compile fix

Updated patches with a compile fix for CONFIG_MUTEX_SPIN_ON_OWNER=y.
Comment 27 cprigent 2016-08-11 10:12:10 UTC
Tested 10 times on APL and BSW with the patch applied, both tests are pass:

# ./kms_cursor_legacy --r basic-flip-vs-cursor-legacy
IGT-Version: 1.15-g9afd545 (x86_64) (Linux: 4.8.0-rc1-patch-bug-96701+ x86_64)
Subtest basic-flip-vs-cursor-legacy: SUCCESS (0.654s)
# ./kms_cursor_legacy --r basic-cursor-vs-flip-legacy
IGT-Version: 1.15-g9afd545 (x86_64) (Linux: 4.8.0-rc1-patch-bug-96701+ x86_64)
Subtest basic-cursor-vs-flip-legacy: SUCCESS (4.409s)

Kernel: 4.8.0-rc1 fc1e1be from http://cgit.freedesktop.org/drm-intel/
  commit fc1e1be6fef445e9ea5b99db5fe49bcb49f77eee
  Author: Jani Nikula <jani.nikula@intel.com>
  Date:   Thu Aug 11 01:09:44 2016 +0300
  drm-intel-nightly: 2016y-08m-10d-22h-09m-24s UTC integration manifest
  with patch https://bugs.freedesktop.org/attachment.cgi?id=125686 applied
Intel-Gpu-Tools 1.15 9afd545 from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
Comment 28 Imre Deak 2016-08-11 11:11:46 UTC
The corresponding fix is still under review in LKML, I suggest closing the bug only when those are merged already. Latest versions of the patches:
https://lkml.org/lkml/2016/8/10/508
https://lkml.org/lkml/2016/8/10/376
Comment 29 Imre Deak 2016-08-15 15:25:12 UTC
I pushed the patches from comment 28 (after compile fixing/rebasing) to topic/core-for-CI, so based on comment 27 closing the bug.

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.