Bug 81367 - [IVB/SNB/BYT/BDW/BSW]igt/kms_flip subcases fail and don't exit testing
Summary: [IVB/SNB/BYT/BDW/BSW]igt/kms_flip subcases fail and don't exit testing
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: highest critical
Assignee: Paulo Zanoni
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-15 03:35 UTC by Guo Jinxian
Modified: 2016-10-07 08:39 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (118.27 KB, text/plain)
2014-07-15 03:35 UTC, Guo Jinxian
no flags Details
Possible fix (4.13 KB, patch)
2014-09-03 17:49 UTC, Paulo Zanoni
no flags Details | Splinter Review

Description Guo Jinxian 2014-07-15 03:35:15 UTC
Created attachment 102811 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes
It's a igt regression issue
Good commit on igt: c5b9615b83910f5a5c19fc84d938ea643f4e3009
Bad commit on igt: 3f50598fb7399bafed01f7b44f4a4f5a85a9f13c

Non-working platforms: IVB SNB

==kernel==
--------------------------
origin/drm-intel-nightly: 16025dad8e9964a5810385f755d43f1c48d6fdcc(fails)
    drm-intel-nightly: 2014y-07m-09d-14h-17m-14s integration manifest
origin/drm-intel-next-queued: d101c8fe9bda6578ae72d6021415cfaad2b422f0(fails)
    drm/i915: remove i915_rstdby_delays debugfs entry
origin/drm-intel-fixes: 01527b3127997ef6370d5ad4fa25d96847fbf12a(fails)
    drm/i915/vlv: T12 eDP panel timing enforcement during reboot

==Bug detailed description==
igt/kms_flip some subcases fail

Case list:
igt/kms_flip/2x-absolute-wf_vblank
igt/kms_flip/2x-absolute-wf_vblank-interruptible
igt/kms_flip/2x-bcs-flip-vs-dpms
igt/kms_flip/2x-bcs-flip-vs-dpms-interruptible
igt/kms_flip/2x-bcs-flip-vs-modeset
igt/kms_flip/2x-bcs-flip-vs-modeset-interruptible
igt/kms_flip/2x-bcs-flip-vs-panning
igt/kms_flip/2x-bcs-flip-vs-panning-interruptible
igt/kms_flip/2x-bcs-wf_vblank-vs-dpms
igt/kms_flip/2x-bcs-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-bcs-wf_vblank-vs-modeset
igt/kms_flip/2x-bcs-wf_vblank-vs-modeset-interruptible
igt/kms_flip/2x-blocking-absolute-wf_vblank
igt/kms_flip/2x-blocking-absolute-wf_vblank-interruptible
igt/kms_flip/2x-blocking-wf_vblank
igt/kms_flip/2x-busy-flip
igt/kms_flip/2x-busy-flip-interruptible
igt/kms_flip/2x-dpms-vs-vblank-race
igt/kms_flip/2x-dpms-vs-vblank-race-interruptible
igt/kms_flip/2x-flip-vs-absolute-wf_vblank
igt/kms_flip/2x-flip-vs-absolute-wf_vblank-interruptible
igt/kms_flip/2x-flip-vs-bad-tiling
igt/kms_flip/2x-flip-vs-bad-tiling-interruptible
igt/kms_flip/2x-flip-vs-blocking-wf-vblank
igt/kms_flip/2x-flip-vs-dpms
igt/kms_flip/2x-flip-vs-dpms-interruptible
igt/kms_flip/2x-flip-vs-dpms-off-vs-modeset
igt/kms_flip/2x-flip-vs-dpms-off-vs-modeset-interruptible
igt/kms_flip/2x-flip-vs-expired-vblank
igt/kms_flip/2x-flip-vs-expired-vblank-interruptible
igt/kms_flip/2x-flip-vs-fences
igt/kms_flip/2x-flip-vs-fences-interruptible
igt/kms_flip/2x-flip-vs-modeset
igt/kms_flip/2x-flip-vs-modeset-interruptible
igt/kms_flip/2x-flip-vs-modeset-vs-hang
igt/kms_flip/2x-flip-vs-modeset-vs-hang-interruptible
igt/kms_flip/2x-flip-vs-panning
igt/kms_flip/2x-flip-vs-panning-interruptible
igt/kms_flip/2x-flip-vs-panning-vs-hang
igt/kms_flip/2x-flip-vs-panning-vs-hang-interruptible
igt/kms_flip/2x-flip-vs-rmfb
igt/kms_flip/2x-flip-vs-rmfb-interruptible
igt/kms_flip/2x-flip-vs-wf_vblank
igt/kms_flip/2x-flip-vs-wf_vblank-interruptible
igt/kms_flip/2x-modeset-vs-vblank-race
igt/kms_flip/2x-modeset-vs-vblank-race-interruptible
igt/kms_flip/2x-nonexisting-fb
igt/kms_flip/2x-nonexisting-fb-interruptible
igt/kms_flip/2x-plain-flip
igt/kms_flip/2x-plain-flip-fb-recreate
igt/kms_flip/2x-plain-flip-fb-recreate-interruptible
igt/kms_flip/2x-plain-flip-interruptible
igt/kms_flip/2x-plain-flip-ts-check
igt/kms_flip/2x-plain-flip-ts-check-interruptible
igt/kms_flip/2x-rcs-flip-vs-dpms
igt/kms_flip/2x-rcs-flip-vs-dpms-interruptible
igt/kms_flip/2x-rcs-flip-vs-modeset
igt/kms_flip/2x-rcs-flip-vs-modeset-interruptible
igt/kms_flip/2x-rcs-flip-vs-panning
igt/kms_flip/2x-rcs-flip-vs-panning-interruptible
igt/kms_flip/2x-rcs-wf_vblank-vs-dpms
igt/kms_flip/2x-rcs-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-rcs-wf_vblank-vs-modeset
igt/kms_flip/2x-rcs-wf_vblank-vs-modeset-interruptible
igt/kms_flip/2x-single-buffer-flip-vs-dpms-off-vs-modeset
igt/kms_flip/2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible
igt/kms_flip/2x-vblank-vs-dpms-suspend
igt/kms_flip/2x-vblank-vs-dpms-suspend-interruptible
igt/kms_flip/2x-vblank-vs-hang
igt/kms_flip/2x-vblank-vs-hang-interruptible
igt/kms_flip/2x-vblank-vs-modeset-suspend
igt/kms_flip/2x-vblank-vs-modeset-suspend-interruptible
igt/kms_flip/2x-vblank-vs-suspend
igt/kms_flip/2x-vblank-vs-suspend-interruptible
igt/kms_flip/2x-wf_vblank
igt/kms_flip/2x-wf_vblank-interruptible
igt/kms_flip/2x-wf_vblank-ts-check
igt/kms_flip/2x-wf_vblank-ts-check-interruptible
igt/kms_flip/2x-wf_vblank-vs-dpms
igt/kms_flip/2x-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-wf_vblank-vs-modeset
igt/kms_flip/2x-wf_vblank-vs-modeset-interruptible


Output:
[root@x-sgb3 tests]# ./kms_flip --run-subtest 2x-absolute-wf_vblank
IGT-Version: 1.7-g3f50598 (x86_64) (Linux: 3.16.0-rc4_drm-intel-next-queued_d101c8_20140710+ x86_64)
Test assertion failure function kmstest_force_connector, file igt_kms.c:461:
Failed assertion: debugfs_fd != -1
Last errno: 2, No such file or directory
Subtest 2x-absolute-wf_vblank: FAIL


==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest 2x-absolute-wf_vblank
Comment 1 Guo Jinxian 2014-07-15 03:37:20 UTC
The result was skip with igt(c5b9615b83910f5a5c19fc84d938ea643f4e3009)

[root@x-sgb3 tests]# ./kms_flip --run-subtest 2x-absolute-wf_vblank
IGT-Version: 1.7-gc5b9615 (x86_64) (Linux: 3.16.0-rc4_drm-intel-next-queued_d101c8_20140710+ x86_64)
Using monotonic timestamps
Test requirement not met in function run_pair, file kms_flip.c:1464:
Last errno: 0, Success
Test requirement: (!(modes))
Subtest 2x-absolute-wf_vblank: SKIP
Comment 2 Guo Jinxian 2014-07-23 07:28:07 UTC
This bug still able to reproduce on latest -fixes(a0d036b074b4a5a933e37fcb9bdd6b3cc80a0387) while running test cases below on HSW:

case list:
igt/kms_pipe_crc_basic/bad-nb-words-1
igt/kms_pipe_crc_basic/bad-nb-words-3
igt/kms_pipe_crc_basic/bad-pipe
igt/kms_pipe_crc_basic/bad-source
igt/kms_pipe_crc_basic/hang-read-crc-pipe-A
igt/kms_pipe_crc_basic/hang-read-crc-pipe-B
igt/kms_pipe_crc_basic/hang-read-crc-pipe-C
igt/kms_pipe_crc_basic/read-crc-pipe-A
igt/kms_pipe_crc_basic/read-crc-pipe-A-frame-sequence
igt/kms_pipe_crc_basic/read-crc-pipe-B
igt/kms_pipe_crc_basic/read-crc-pipe-B-frame-sequence
igt/kms_pipe_crc_basic/read-crc-pipe-C
igt/kms_pipe_crc_basic/read-crc-pipe-C-frame-sequence
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-A
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-B
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-C

Output:
[root@x-hsw27 tests]# ./kms_pipe_crc_basic --run-subtest bad-nb-words-1
IGT-Version: 1.7-g70e6ed9 (x86_64) (Linux: 3.16.0-rc6_drm-intel-fixes_a0d036_20140723+ x86_64)
Test assertion failure function kmstest_force_connector, file igt_kms.c:461:
Failed assertion: debugfs_fd != -1
Last errno: 2, No such file or directory
Subtest bad-nb-words-1: FAIL
Comment 3 lu hua 2014-07-25 06:22:36 UTC
It impacts all platforms.
Comment 4 lu hua 2014-07-25 06:49:05 UTC
It impacts all kms_flip subcases(about 180 cases). They don't exit testing.
# time ./kms_flip --run-subtest flip-vs-panning
IGT-Version: 1.7-gbffef22 (x86_64) (Linux: 3.16.0-rc6_drm-intel-fixes_eedd10_20140725_debug+ x86_64)
Using monotonic timestamps
Beginning flip-vs-panning on crtc 5, connector 13
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
flip-vs-panning on crtc 5, connector 13: PASSED

Beginning flip-vs-panning on crtc 8, connector 13
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
flip-vs-panning on crtc 8, connector 13: PASSED

Beginning flip-vs-panning on crtc 11, connector 13
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
flip-vs-panning on crtc 11, connector 13: PASSED

Subtest flip-vs-panning: SUCCESS
Test assertion failure function kmstest_force_connector, file igt_kms.c:461:
Failed assertion: debugfs_fd != -1
Last errno: 2, No such file or directory
^CTest assertion failure function kmstest_force_connector, file igt_kms.c:461:
Failed assertion: debugfs_fd != -1
Last errno: 2, No such file or directory
kms_flip: igt_core.c:691: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.
Aborted (core dumped)

real    17m38.036s
user    0m0.087s
sys     0m0.295s
Comment 5 Guo Jinxian 2014-07-29 06:07:23 UTC
commit eef768f283466b6d7cb3f08381f72ccf3951dc99
Author:     Thomas Wood <thomas.wood@intel.com>
AuthorDate: Wed Jun 18 14:28:43 2014 +0100
Commit:     Thomas Wood <thomas.wood@intel.com>
CommitDate: Fri Jul 11 11:47:46 2014 +0100

    tests: enable extra connectors in kms_flip and kms_pipe_crc_basic
    
    Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Comment 6 lu hua 2014-08-15 01:45:43 UTC
It still exists, run  ./kms_flip --run-subtest bcs-flip-vs-dpms on BDW, it doesn't exit.
output:
IGT-Version: 1.7-g5c7bcb1 (x86_64) (Linux: 3.16.0_drm-intel-nightly_da31e7_20140814+ x86_64)
Using monotonic timestamps
Beginning bcs-flip-vs-dpms on crtc 7, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
....
bcs-flip-vs-dpms on crtc 7, connector 19: PASSED

Beginning bcs-flip-vs-dpms on crtc 12, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
....
bcs-flip-vs-dpms on crtc 12, connector 19: PASSED

Beginning bcs-flip-vs-dpms on crtc 16, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
....
bcs-flip-vs-dpms on crtc 16, connector 19: PASSED

Subtest bcs-flip-vs-dpms: SUCCESS
Comment 7 Paulo Zanoni 2014-08-15 20:25:31 UTC
This bug report is really confusing. It seems to me there are multiple reports here.

Bug title:
- kms_flip subcases fail and don't exit on _all platforms_

Bug description:
- debugfs_fd assertion failure

Comment #1:
- test is skipped

Comment #2:
- debugfs_fd assertion failure

Comment #4:
- it says the tests don't exit, but it appears to exit after 17 mins?

Comment #5:
- says the tests don't exit

So we have at least 3 different descriptions, and I can't reproduce the bugs mentioned above. The only bug I see is a few WARNs on bcs-flip-vs-dpms on BDW. These tests do take a _long time_ to finish, but they do.

So, is this bug report about kms_flip subtests failing?
Is this bug report about subtests skippped?
Is this bug report about debugfs_fd assertion failures?
Is this bug report about the fact that some tests don't finish?
Comment 8 Guo Jinxian 2014-08-18 06:22:05 UTC
(In reply to comment #7)
> This bug report is really confusing. It seems to me there are multiple
> reports here.
> 
> Bug title:
> - kms_flip subcases fail and don't exit on _all platforms_
Some of kms_flip subcases failed, and at the same time, the test unable to exit either.
I mean failure and 'unable to exit' occurs synchronously
> 
> Bug description:
> - debugfs_fd assertion failure
The detail failure was "Failed assertion: debugfs_fd != -1"
> 
> Comment #1:
> - test is skipped
We considered skipped was excepted result. So I mean this failure was unable to reproduce for this comment.
> 
> Comment #2:
> - debugfs_fd assertion failure
This failure was able to reproduce again.
> 
> Comment #4:
> - it says the tests don't exit, but it appears to exit after 17 mins?
In piglit test framework, the test was marked as 'timeout' if it execution more than 10 mins. And we considered the test unable to exit normally.
> 
> Comment #5:
> - says the tests don't exit
> 
> So we have at least 3 different descriptions, and I can't reproduce the bugs
> mentioned above. The only bug I see is a few WARNs on bcs-flip-vs-dpms on
> BDW. These tests do take a _long time_ to finish, but they do.
> 
> So, is this bug report about kms_flip subtests failing?
This bug is about kms_flip subtests failing and unable to exit in 10 mins.
> Is this bug report about subtests skippped?
No. We considered igt/kms_flip/2x* cases skipped was excepted result if the test device didn't plug in two monitor.
> Is this bug report about debugfs_fd assertion failures?
yes. and include the test execution more than 10 mins.
> Is this bug report about the fact that some tests don't finish?
Yes. Refer to the above
Comment 9 Paulo Zanoni 2014-08-22 19:23:08 UTC
Ok, since the bug report is getting a little bit complex with all this informaiton, let's simplify things a little bit.

I can reproduce some of the subcases that don't exit, so I chose one of these test cases to try to fix right now: bcs-flip-vs-dpms, on Broadwell.

With this test, the information that IGT commit c5b9615b83910f5a5c19fc84d938ea643f4e3009 is "good" is incorrect: the test also freezes on this test.

Can you confirm that your git bisection is actually accurate? Which subproblem of all these problemas actually match your git bisection? Can you please retest?
Comment 10 Guo Jinxian 2014-08-25 03:43:57 UTC
(In reply to comment #9)
> Ok, since the bug report is getting a little bit complex with all this
> informaiton, let's simplify things a little bit.
> 
> I can reproduce some of the subcases that don't exit, so I chose one of
> these test cases to try to fix right now: bcs-flip-vs-dpms, on Broadwell.
> 
> With this test, the information that IGT commit
> c5b9615b83910f5a5c19fc84d938ea643f4e3009 is "good" is incorrect: the test
> also freezes on this test.
> 
> Can you confirm that your git bisection is actually accurate? Which
> subproblem of all these problemas actually match your git bisection? Can you
> please retest?

I retest on IGT commit c5b9615b83910f5a5c19fc84d938ea643f4e3009, and found that all 2x-* subcases are skipped. which mean the commit is good for 2x-* subcases.

I checked bcs-flip-vs-dpms too, and found the subcase didn't exit on commit c5b9615b83910f5a5c19fc84d938ea643f4e3009. the commit is not good for subcase  bcs-flip-vs-dpms.
Comment 11 Paulo Zanoni 2014-08-27 19:30:15 UTC
(In reply to comment #10)
> I retest on IGT commit c5b9615b83910f5a5c19fc84d938ea643f4e3009, and found
> that all 2x-* subcases are skipped. which mean the commit is good for 2x-*
> subcases.

Did you have two screens when testing?

> 
> I checked bcs-flip-vs-dpms too, and found the subcase didn't exit on commit
> c5b9615b83910f5a5c19fc84d938ea643f4e3009. the commit is not good for subcase
> bcs-flip-vs-dpms.

I guess that means the bug is not really bisected.


I started debugging the bcs-flip-vs-dpms failures on my BDW machine, and this problem is certainly BDW-specific. I just can't reproduce it on Haswell. So I really think we should treat this bug as several smaller bugs.

For a better organization, we need to answer the following questions:
- What are the specific cases that fail on each platform?
- Why does it fail? Timeout? Testsuite claims FAIL? Test skipped?
- What are the output configurations used by each machine? For each machine tested, please describe whether it has HDMI, eDP, DP, VGA, etc.
- Can we try to choose a specific failure from the list and bisect it? From your comment above it seems the previous bisect result is bad, so we may need to redo it.

After we get a concrete list of the problems, we need to re-evaluate the priority of this bug, and decide whether we want to split it or not.
Comment 12 Paulo Zanoni 2014-08-27 19:35:21 UTC
> I started debugging the bcs-flip-vs-dpms failures on my BDW machine, and
> this problem is certainly BDW-specific. I just can't reproduce it on
> Haswell. So I really think we should treat this bug as several smaller bugs.
> 
> For a better organization, we need to answer the following questions:
> - What are the specific cases that fail on each platform?
> - Why does it fail? Timeout? Test suite claims FAIL? Test skipped?
> - What are the output configurations used by each machine? For each machine
> tested, please describe whether it has HDMI, eDP, DP, VGA, etc.
> - Can we try to choose a specific failure from the list and bisect it? From
> your comment above it seems the previous bisect result is bad, so we may
> need to redo it.
> 
> After we get a concrete list of the problems, we need to re-evaluate the
> priority of this bug, and decide whether we want to split it or not.

Example of the answer I'm looking for:

On HSW, we're using eDP+HDMI, and:
- test ABC results in FAILURE
- test DEF and GHI results in timeout (>10 mins to end)
- test JKL causes a Kernel WARN
- all the other tests pass without timeouts, failures or WARNs
- none of the above were bisected

On BDW, we're using a machine with eDP only, and:
- test DEF results in timeout (>10 mins to end)
- test XYZ causes a Kernel WARN, and this was bisected to Kernel commit 9a97ea98e7a98
- all the other tests pass without timeouts, failures or WARNs
Comment 13 Guo Jinxian 2014-08-28 07:13:44 UTC
(In reply to comment #12)
> On BDW, we're using a machine with eDP only, and:
> - test DEF results in timeout (>10 mins to end)
> - test XYZ causes a Kernel WARN, and this was bisected to Kernel commit
> 9a97ea98e7a98
> - all the other tests pass without timeouts, failures or WARNs

- tests below have another bugs 81377 83177
igt/kms_pipe_crc_basic/hang-read-crc-pipe-B
igt/kms_pipe_crc_basic/hang-read-crc-pipe-C

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_pipe_crc_basic --run-subtest hang-read-crc-pipe-C
IGT-Version: 1.7-g50166d2 (x86_64) (Linux: 3.17.0-rc2_drm-intel-nightly_e91331_20140828+ x86_64)
hang-read-crc-pipe-C: Testing connector eDP-1 using pipe C
Test assertion failure function igt_wait_for_vblank, file igt_kms.c:1597:
Failed assertion: drmWaitVBlank(drm_fd, &wait_vbl) == 0
Last errno: 16, Device or resource busy
Subtest hang-read-crc-pipe-C: FAIL
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
<4>[ 1784.673593] WARNING: CPU: 0 PID: 4692 at drivers/gpu/drm/i915/intel_display.c:1294 hsw_disable_ips+0x2d/0x15a [i915]()
<4>[ 1784.673597] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr i2c_i801 lpc_ich snd_hda_intel mfd_core snd_hda_controller snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[ 1784.673624] CPU: 0 PID: 4692 Comm: kms_pipe_crc_ba Tainted: G        W      3.17.0-rc2_drm-intel-nightly_e91331_20140828+ #1896
<4>[ 1784.673737]  [<ffffffffa0018149>] ? drm_mode_set_config_internal+0x48/0xbd [drm]
<4>[ 1784.673744]  [<ffffffffa001bb64>] ? drm_mode_setcrtc+0x3e6/0x48b [drm]
<4>[ 1784.673751]  [<ffffffffa0010908>] ? drm_ioctl+0x279/0x3bc [drm]
<4>[ 1784.673761]  [<ffffffffa001b77e>] ? drm_mode_setplane+0x16d/0x16d [drm]
<4>[ 1784.673767]  [<ffffffffa000fda3>] ? drm_gem_vm_close+0x2a/0x4b [drm]


- tests below have another bug 83177
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-A
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-B
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-C

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_pipe_crc_basic --run-subtest suspend-read-crc-pipe-C
IGT-Version: 1.7-g50166d2 (x86_64) (Linux: 3.17.0-rc2_drm-intel-nightly_e91331_20140828+ x86_64)
rtcwake: wakeup from "mem" using /dev/rtc0 at Thu Aug 28 19:08:49 2014
suspend-read-crc-pipe-C: Testing connector eDP-1 using pipe C
Subtest suspend-read-crc-pipe-C: SUCCESS
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
<4>[ 2294.804096] WARNING: CPU: 1 PID: 4737 at drivers/gpu/drm/i915/intel_display.c:1294 hsw_disable_ips+0x2d/0x15a [i915]()
<4>[ 2294.804108] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr i2c_i801 lpc_ich snd_hda_intel mfd_core snd_hda_controller snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[ 2294.804110] CPU: 1 PID: 4737 Comm: kworker/u16:14 Tainted: G        W      3.17.0-rc2_drm-intel-nightly_e91331_20140828+ #1896
<4>[ 2294.804185]  [<ffffffffa007d76d>] ? i915_drm_freeze+0xb8/0x1bf [i915]
<3>[ 2295.903473] [drm:hsw_unclaimed_reg_detect] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem.


- tests below pass without timeouts, failures or WARNs
igt/kms_flip/flip-vs-panning
igt/kms_flip/bcs-flip-vs-dpms

igt/kms_pipe_crc_basic/bad-nb-words-1
igt/kms_pipe_crc_basic/bad-nb-words-3
igt/kms_pipe_crc_basic/bad-pipe
igt/kms_pipe_crc_basic/bad-source
igt/kms_pipe_crc_basic/hang-read-crc-pipe-A
igt/kms_pipe_crc_basic/read-crc-pipe-A
igt/kms_pipe_crc_basic/read-crc-pipe-A-frame-sequence
igt/kms_pipe_crc_basic/read-crc-pipe-B
igt/kms_pipe_crc_basic/read-crc-pipe-B-frame-sequence
igt/kms_pipe_crc_basic/read-crc-pipe-C
igt/kms_pipe_crc_basic/read-crc-pipe-C-frame-sequence

- tests below skip

igt/kms_flip/2x-absolute-wf_vblank
igt/kms_flip/2x-absolute-wf_vblank-interruptible
igt/kms_flip/2x-bcs-flip-vs-dpms
igt/kms_flip/2x-bcs-flip-vs-dpms-interruptible
igt/kms_flip/2x-bcs-flip-vs-modeset
igt/kms_flip/2x-bcs-flip-vs-modeset-interruptible
igt/kms_flip/2x-bcs-flip-vs-panning
igt/kms_flip/2x-bcs-flip-vs-panning-interruptible
igt/kms_flip/2x-bcs-wf_vblank-vs-dpms
igt/kms_flip/2x-bcs-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-bcs-wf_vblank-vs-modeset
igt/kms_flip/2x-bcs-wf_vblank-vs-modeset-interruptible
igt/kms_flip/2x-blocking-absolute-wf_vblank
igt/kms_flip/2x-blocking-absolute-wf_vblank-interruptible
igt/kms_flip/2x-blocking-wf_vblank
igt/kms_flip/2x-busy-flip
igt/kms_flip/2x-busy-flip-interruptible
igt/kms_flip/2x-dpms-vs-vblank-race
igt/kms_flip/2x-dpms-vs-vblank-race-interruptible
igt/kms_flip/2x-flip-vs-absolute-wf_vblank
igt/kms_flip/2x-flip-vs-absolute-wf_vblank-interruptible
igt/kms_flip/2x-flip-vs-bad-tiling
igt/kms_flip/2x-flip-vs-bad-tiling-interruptible
igt/kms_flip/2x-flip-vs-blocking-wf-vblank
igt/kms_flip/2x-flip-vs-dpms
igt/kms_flip/2x-flip-vs-dpms-interruptible
igt/kms_flip/2x-flip-vs-dpms-off-vs-modeset
igt/kms_flip/2x-flip-vs-dpms-off-vs-modeset-interruptible
igt/kms_flip/2x-flip-vs-expired-vblank
igt/kms_flip/2x-flip-vs-expired-vblank-interruptible
igt/kms_flip/2x-flip-vs-fences
igt/kms_flip/2x-flip-vs-fences-interruptible
igt/kms_flip/2x-flip-vs-modeset
igt/kms_flip/2x-flip-vs-modeset-interruptible
igt/kms_flip/2x-flip-vs-modeset-vs-hang
igt/kms_flip/2x-flip-vs-modeset-vs-hang-interruptible
igt/kms_flip/2x-flip-vs-panning
igt/kms_flip/2x-flip-vs-panning-interruptible
igt/kms_flip/2x-flip-vs-panning-vs-hang
igt/kms_flip/2x-flip-vs-panning-vs-hang-interruptible
igt/kms_flip/2x-flip-vs-rmfb
igt/kms_flip/2x-flip-vs-rmfb-interruptible
igt/kms_flip/2x-flip-vs-wf_vblank
igt/kms_flip/2x-flip-vs-wf_vblank-interruptible
igt/kms_flip/2x-modeset-vs-vblank-race
igt/kms_flip/2x-modeset-vs-vblank-race-interruptible
igt/kms_flip/2x-nonexisting-fb
igt/kms_flip/2x-nonexisting-fb-interruptible
igt/kms_flip/2x-plain-flip
igt/kms_flip/2x-plain-flip-fb-recreate
igt/kms_flip/2x-plain-flip-fb-recreate-interruptible
igt/kms_flip/2x-plain-flip-interruptible
igt/kms_flip/2x-plain-flip-ts-check
igt/kms_flip/2x-plain-flip-ts-check-interruptible
igt/kms_flip/2x-rcs-flip-vs-dpms
igt/kms_flip/2x-rcs-flip-vs-dpms-interruptible
igt/kms_flip/2x-rcs-flip-vs-modeset
igt/kms_flip/2x-rcs-flip-vs-modeset-interruptible
igt/kms_flip/2x-rcs-flip-vs-panning
igt/kms_flip/2x-rcs-flip-vs-panning-interruptible
igt/kms_flip/2x-rcs-wf_vblank-vs-dpms
igt/kms_flip/2x-rcs-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-rcs-wf_vblank-vs-modeset
igt/kms_flip/2x-rcs-wf_vblank-vs-modeset-interruptible
igt/kms_flip/2x-single-buffer-flip-vs-dpms-off-vs-modeset
igt/kms_flip/2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible
igt/kms_flip/2x-vblank-vs-dpms-suspend
igt/kms_flip/2x-vblank-vs-dpms-suspend-interruptible
igt/kms_flip/2x-vblank-vs-hang
igt/kms_flip/2x-vblank-vs-hang-interruptible
igt/kms_flip/2x-vblank-vs-modeset-suspend
igt/kms_flip/2x-vblank-vs-modeset-suspend-interruptible
igt/kms_flip/2x-vblank-vs-suspend
igt/kms_flip/2x-vblank-vs-suspend-interruptible
igt/kms_flip/2x-wf_vblank
igt/kms_flip/2x-wf_vblank-interruptible
igt/kms_flip/2x-wf_vblank-ts-check
igt/kms_flip/2x-wf_vblank-ts-check-interruptible
igt/kms_flip/2x-wf_vblank-vs-dpms
igt/kms_flip/2x-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-wf_vblank-vs-modeset
igt/kms_flip/2x-wf_vblank-vs-modeset-interruptible
Comment 14 Guo Jinxian 2014-08-28 07:43:58 UTC
(In reply to comment #12)

> On HSW, we're using eDP+HDMI, and:
> - test ABC results in FAILURE
> - test DEF and GHI results in timeout (>10 mins to end)
> - test JKL causes a Kernel WARN
> - all the other tests pass without timeouts, failures or WARNs
> - none of the above were bisected

On HSW, we're using VGA only, and:

- tests below pass without timeouts, failures or WARNs

igt/kms_flip/flip-vs-panning
igt/kms_flip/bcs-flip-vs-dpms

igt/kms_pipe_crc_basic/bad-nb-words-1
igt/kms_pipe_crc_basic/bad-nb-words-3
igt/kms_pipe_crc_basic/bad-pipe
igt/kms_pipe_crc_basic/bad-source
igt/kms_pipe_crc_basic/hang-read-crc-pipe-A
igt/kms_pipe_crc_basic/hang-read-crc-pipe-B
igt/kms_pipe_crc_basic/hang-read-crc-pipe-C
igt/kms_pipe_crc_basic/read-crc-pipe-A
igt/kms_pipe_crc_basic/read-crc-pipe-A-frame-sequence
igt/kms_pipe_crc_basic/read-crc-pipe-B
igt/kms_pipe_crc_basic/read-crc-pipe-B-frame-sequence
igt/kms_pipe_crc_basic/read-crc-pipe-C
igt/kms_pipe_crc_basic/read-crc-pipe-C-frame-sequence
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-A
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-B
igt/kms_pipe_crc_basic/suspend-read-crc-pipe-C


- tests below skip

igt/kms_flip/2x-absolute-wf_vblank
igt/kms_flip/2x-absolute-wf_vblank-interruptible
igt/kms_flip/2x-bcs-flip-vs-dpms
igt/kms_flip/2x-bcs-flip-vs-dpms-interruptible
igt/kms_flip/2x-bcs-flip-vs-modeset
igt/kms_flip/2x-bcs-flip-vs-modeset-interruptible
igt/kms_flip/2x-bcs-flip-vs-panning
igt/kms_flip/2x-bcs-flip-vs-panning-interruptible
igt/kms_flip/2x-bcs-wf_vblank-vs-dpms
igt/kms_flip/2x-bcs-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-bcs-wf_vblank-vs-modeset
igt/kms_flip/2x-bcs-wf_vblank-vs-modeset-interruptible
igt/kms_flip/2x-blocking-absolute-wf_vblank
igt/kms_flip/2x-blocking-absolute-wf_vblank-interruptible
igt/kms_flip/2x-blocking-wf_vblank
igt/kms_flip/2x-busy-flip
igt/kms_flip/2x-busy-flip-interruptible
igt/kms_flip/2x-dpms-vs-vblank-race
igt/kms_flip/2x-dpms-vs-vblank-race-interruptible
igt/kms_flip/2x-flip-vs-absolute-wf_vblank
igt/kms_flip/2x-flip-vs-absolute-wf_vblank-interruptible
igt/kms_flip/2x-flip-vs-bad-tiling
igt/kms_flip/2x-flip-vs-bad-tiling-interruptible
igt/kms_flip/2x-flip-vs-blocking-wf-vblank
igt/kms_flip/2x-flip-vs-dpms
igt/kms_flip/2x-flip-vs-dpms-interruptible
igt/kms_flip/2x-flip-vs-dpms-off-vs-modeset
igt/kms_flip/2x-flip-vs-dpms-off-vs-modeset-interruptible
igt/kms_flip/2x-flip-vs-expired-vblank
igt/kms_flip/2x-flip-vs-expired-vblank-interruptible
igt/kms_flip/2x-flip-vs-fences
igt/kms_flip/2x-flip-vs-fences-interruptible
igt/kms_flip/2x-flip-vs-modeset
igt/kms_flip/2x-flip-vs-modeset-interruptible
igt/kms_flip/2x-flip-vs-modeset-vs-hang
igt/kms_flip/2x-flip-vs-modeset-vs-hang-interruptible
igt/kms_flip/2x-flip-vs-panning
igt/kms_flip/2x-flip-vs-panning-interruptible
igt/kms_flip/2x-flip-vs-panning-vs-hang
igt/kms_flip/2x-flip-vs-panning-vs-hang-interruptible
igt/kms_flip/2x-flip-vs-rmfb
igt/kms_flip/2x-flip-vs-rmfb-interruptible
igt/kms_flip/2x-flip-vs-wf_vblank
igt/kms_flip/2x-flip-vs-wf_vblank-interruptible
igt/kms_flip/2x-modeset-vs-vblank-race
igt/kms_flip/2x-modeset-vs-vblank-race-interruptible
igt/kms_flip/2x-nonexisting-fb
igt/kms_flip/2x-nonexisting-fb-interruptible
igt/kms_flip/2x-plain-flip
igt/kms_flip/2x-plain-flip-fb-recreate
igt/kms_flip/2x-plain-flip-fb-recreate-interruptible
igt/kms_flip/2x-plain-flip-interruptible
igt/kms_flip/2x-plain-flip-ts-check
igt/kms_flip/2x-plain-flip-ts-check-interruptible
igt/kms_flip/2x-rcs-flip-vs-dpms
igt/kms_flip/2x-rcs-flip-vs-dpms-interruptible
igt/kms_flip/2x-rcs-flip-vs-modeset
igt/kms_flip/2x-rcs-flip-vs-modeset-interruptible
igt/kms_flip/2x-rcs-flip-vs-panning
igt/kms_flip/2x-rcs-flip-vs-panning-interruptible
igt/kms_flip/2x-rcs-wf_vblank-vs-dpms
igt/kms_flip/2x-rcs-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-rcs-wf_vblank-vs-modeset
igt/kms_flip/2x-rcs-wf_vblank-vs-modeset-interruptible
igt/kms_flip/2x-single-buffer-flip-vs-dpms-off-vs-modeset
igt/kms_flip/2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible
igt/kms_flip/2x-vblank-vs-dpms-suspend
igt/kms_flip/2x-vblank-vs-dpms-suspend-interruptible
igt/kms_flip/2x-vblank-vs-hang
igt/kms_flip/2x-vblank-vs-hang-interruptible
igt/kms_flip/2x-vblank-vs-modeset-suspend
igt/kms_flip/2x-vblank-vs-modeset-suspend-interruptible
igt/kms_flip/2x-vblank-vs-suspend
igt/kms_flip/2x-vblank-vs-suspend-interruptible
igt/kms_flip/2x-wf_vblank
igt/kms_flip/2x-wf_vblank-interruptible
igt/kms_flip/2x-wf_vblank-ts-check
igt/kms_flip/2x-wf_vblank-ts-check-interruptible
igt/kms_flip/2x-wf_vblank-vs-dpms
igt/kms_flip/2x-wf_vblank-vs-dpms-interruptible
igt/kms_flip/2x-wf_vblank-vs-modeset
igt/kms_flip/2x-wf_vblank-vs-modeset-interruptible
Comment 15 Guo Jinxian 2014-08-28 07:45:10 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > I retest on IGT commit c5b9615b83910f5a5c19fc84d938ea643f4e3009, and found
> > that all 2x-* subcases are skipped. which mean the commit is good for 2x-*
> > subcases.
> 
> Did you have two screens when testing?

No, we only use one screen for all testing.
Comment 16 Paulo Zanoni 2014-08-28 21:06:31 UTC
Ok, so in addition to the bcs-flip-vs-dpms BDW problem, I found another problem: if, on HSW, I run:

$ for i in $(seq 2000); do echo; echo === $i; time sudo ./kms_flip --run-subtest 2x-flip-vs-modeset; done

Then, at some point, the kms_flip command will not exit. It is important to notice that this only happens once every few hundred times on my machine, not "always", as implied by QA. Can QA confirm whether this happens every time, or just sometimes on QA's machines?

And for this specific problem, commit eef768f283466b6d7cb3f08381f72ccf3951dc99 seems to be the root-cause, just like pointed by comment #4.
Comment 17 Guo Jinxian 2014-08-29 05:57:15 UTC
(In reply to comment #16)
> Ok, so in addition to the bcs-flip-vs-dpms BDW problem, I found another
> problem: if, on HSW, I run:
> 
> $ for i in $(seq 2000); do echo; echo === $i; time sudo ./kms_flip
> --run-subtest 2x-flip-vs-modeset; done
> 
> Then, at some point, the kms_flip command will not exit. It is important to
> notice that this only happens once every few hundred times on my machine,
> not "always", as implied by QA. Can QA confirm whether this happens every
> time, or just sometimes on QA's machines?
> 
I tried 10 times on BDW, and can reproduce this every time.

> And for this specific problem, commit
> eef768f283466b6d7cb3f08381f72ccf3951dc99 seems to be the root-cause, just
> like pointed by comment #4.

On the parent commit of eef768f2 (b6ed9fb0d9a68cd3e07154b80e78e60778a4887b), this error unable to reproduce.
Comment 18 Paulo Zanoni 2014-09-03 17:49:08 UTC
Created attachment 105698 [details] [review]
Possible fix

Hi

Does this fix the problem for you? It fixes the problem I can reproduce.

Thanks,
Paulo
Comment 19 Chris Wilson 2014-09-03 18:53:37 UTC
(In reply to comment #18)
> Created attachment 105698 [details] [review] [review]
> Possible fix
> 
> Hi
> 
> Does this fix the problem for you? It fixes the problem I can reproduce.

That's just a band-aid. It may be effective for you here, but the atexit handlers must be written to be signalsafe.
Comment 20 Paulo Zanoni 2014-09-04 13:46:26 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > Created attachment 105698 [details] [review] [review] [review]
> > Possible fix
> > 
> > Hi
> > 
> > Does this fix the problem for you? It fixes the problem I can reproduce.
> 
> That's just a band-aid. It may be effective for you here, but the atexit
> handlers must be written to be signalsafe.

In case the current proposed patch fixes this specific bug, there's now another bug report for the general problem: https://bugs.freedesktop.org/show_bug.cgi?id=83498 .
Comment 21 Guo Jinxian 2014-09-05 02:56:07 UTC
(In reply to comment #18)
> Created attachment 105698 [details] [review] [review]
> Possible fix
> 
> Hi
> 
> Does this fix the problem for you? It fixes the problem I can reproduce.
> 
> Thanks,
> Paulo

With this patch, I ran "$ for i in $(seq 2000); do echo; echo === $i; time sudo ./kms_flip --run-subtest 2x-flip-vs-modeset; done " on BDW HSW and IVB, didn't found "unable to exit" issue.
Comment 22 Paulo Zanoni 2014-09-05 13:07:45 UTC
(In reply to comment #21)
> (In reply to comment #18)
> > Created attachment 105698 [details] [review] [review] [review]
> > Possible fix
> > 
> > Hi
> > 
> > Does this fix the problem for you? It fixes the problem I can reproduce.
> > 
> > Thanks,
> > Paulo
> 
> With this patch, I ran "$ for i in $(seq 2000); do echo; echo === $i; time
> sudo ./kms_flip --run-subtest 2x-flip-vs-modeset; done " on BDW HSW and IVB,
> didn't found "unable to exit" issue.

Since this patch was already merged, I'm closing the bug. If you think the problem persists, please reopen it.

Thanks for the patience and for the testing!
Comment 23 Guo Jinxian 2014-09-10 07:54:52 UTC
(In reply to comment #21)
> (In reply to comment #18)
> > Created attachment 105698 [details] [review] [review] [review]
> > Possible fix
> > 
> > Hi
> > 
> > Does this fix the problem for you? It fixes the problem I can reproduce.
> > 
> > Thanks,
> > Paulo
> 
> With this patch, I ran "$ for i in $(seq 2000); do echo; echo === $i; time
> sudo ./kms_flip --run-subtest 2x-flip-vs-modeset; done " on BDW HSW and IVB,
> didn't found "unable to exit" issue.

Verified.
Comment 24 Jari Tahvanainen 2016-10-07 08:39:38 UTC
Closing verified+fixed.


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.