Created attachment 115630 [details] dmesg info ==System Environment== ----------------------------------------------------- Regression: Yes Non-working platforms: IVB ==Kernel== -------------------------------------------------- commit 20e7fca46c6d1598a9720f3b0b06acb982919cf8 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Thu May 7 18:16:42 2015 +0200 drm-intel-nightly: 2015y-05m-07d-16h-16m-10s UTC integration manifest ==Bug detailed description== -------------------------------------------------- igt/pm_rc6_residency subcase rc6-accuracy fail on IVB. Itβs kernel regression, By bisected, show the first bad commit is 71b7e54 commit 71b7e54f71b899db9f8def67a0e976969384e699 Author: Daniel Vetter <daniel.vetter@ffwll.ch> AuthorDate: Tue Apr 14 17:35:18 2015 +0200 Commit: Daniel Vetter <daniel.vetter@ffwll.ch> CommitDate: Thu Apr 23 21:06:02 2015 +0200 drm/i915: Don't look at pg_dirty_rings for aliasing ppgtt We load the ppgtt ptes once per gpu reset/driver load/resume and that's all that's needed. Note that this only blows up when we're using the allocate_va_range funcs and not the special-purpose ones used. With this change we can get rid of that duplication. Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> ==output== [root@x-ivb6 tests]# ./pm_rc6_residency --run-subtest rc6-accuracy IGT-Version: 1.10-g159562c (x86_64) (Linux: 4.1.0-rc2_drm-intel-nightly_20e7fc_20150508+ x86_64) Test assertion failure function residency_accuracy, file pm_rc6_residency.c:104: Failed assertion: diff >= (SLEEP_DURATION - RC6_FUDGE) GPU was not in RC6 long enough. Check that the GPU is as idle as possible(ie. no X, running and running no other tests) Stack trace: #0 [__igt_fail_assert+0xf1] #1 [residency_accuracy+0x171] #2 [__real_main134+0xdd] #3 [main+0x21] #4 [__libc_start_main+0xf5] #5 [_start+0x29] #6 [<unknown>+0x29] Subtest rc6-accuracy failed. **** DEBUG **** Test assertion failure function residency_accuracy, file pm_rc6_residency.c:104: Failed assertion: diff >= (SLEEP_DURATION - RC6_FUDGE) GPU was not in RC6 long enough. Check that the GPU is as idle as possible(ie. no X, running and running no other tests) **** END **** Subtest rc6-accuracy: FAIL (0.003s) ==Reproduce steps== ---------------------------- 1, ./pm_rc6_residency --run-subtest rc6-accuracy
Case list: igt@pm_rc6_residency@rc6pp-accuracy igt@kms_flip@vblank-vs-dpms-suspend igt@kms_flip@vblank-vs-dpms-suspend-interruptible igt@kms_flip@vblank-vs-suspend igt@kms_flip@vblank-vs-suspend-interruptible
(In reply to ye.tian from comment #1) > Case list: > > igt@pm_rc6_residency@rc6pp-accuracy > igt@kms_flip@vblank-vs-dpms-suspend > igt@kms_flip@vblank-vs-dpms-suspend-interruptible > igt@kms_flip@vblank-vs-suspend > igt@kms_flip@vblank-vs-suspend-interruptible The bisect result looks incorrect, I'm not sure how this test ever passed when RC6P and/or RC6PP was also enabled besides RC6. Could you try the following 7 patches: http://lists.freedesktop.org/archives/intel-gfx/2015-May/066860.html
(In reply to Imre Deak from comment #2) > (In reply to ye.tian from comment #1) > > Case list: > > > > igt@pm_rc6_residency@rc6pp-accuracy > > igt@kms_flip@vblank-vs-dpms-suspend > > igt@kms_flip@vblank-vs-dpms-suspend-interruptible > > igt@kms_flip@vblank-vs-suspend > > igt@kms_flip@vblank-vs-suspend-interruptible > > The bisect result looks incorrect, I'm not sure how this test ever passed > when RC6P and/or RC6PP was also enabled besides RC6. > > Could you try the following 7 patches: > http://lists.freedesktop.org/archives/intel-gfx/2015-May/066860.html Test it on the latest nightly kernel and latest igt with 7 patches, only rc6-accuracy is pass. [root@x-ivb6 tests]# ./pm_rc6_residency --run-subtest rc6-accuracy IGT-Version: 1.10-g5253af9 (x86_64) (Linux: 4.1.0-rc3_drm-intel-nightly_056608_20150519+ x86_64) Residency in rc6 or deeper state: 2982 ms (ratio to expected duration: 0.98) Subtest rc6-accuracy: SUCCESS (0.000s) [root@x-ivb6 tests]# ./pm_rc6_residency --run-subtest rc6pp-accuracy IGT-Version: 1.10-g5253af9 (x86_64) (Linux: 4.1.0-rc3_drm-intel-nightly_056608_20150519+ x86_64) Test requirement not met in function __real_main178, file pm_rc6_residency.c:214: Test requirement: !(!(rc6_mask & RC6PP_ENABLED)) Subtest rc6pp-accuracy: SKIP (0.000s) [root@x-ivb6 tests]# ./kms_flip --run-subtest vblank-vs-dpms-suspend IGT-Version: 1.10-g5253af9 (x86_64) (Linux: 4.1.0-rc3_drm-intel-nightly_056608_20150519+ x86_64) Using monotonic timestamps Beginning vblank-vs-dpms-suspend on crtc 20, connector 30 1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500 .rtcwake: wakeup from "mem" using /dev/rtc0 at Tue May 19 19:16:26 2015 .rtcwake: wakeup from "mem" using /dev/rtc0 at Tue May 19 19:16:58 2015 Test assertion failure function check_state, file kms_flip.c:640: Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <) vblank ts before the vblank was issued! timerdiff -1s, 994391us Stack trace: #0 [__igt_fail_assert+0xf1] #1 [check_state+0x271] #2 [run_test_on_crtc_set.constprop.13+0xafc] #3 [run_test+0x25a] #4 [main+0x284] #5 [__libc_start_main+0xf5] #6 [_start+0x29] #7 [<unknown>+0x29] Subtest vblank-vs-dpms-suspend failed. **** DEBUG **** Test requirement passed: (flags & TEST_HANG) == 0 || !is_hung(drm_fd) Test requirement passed: modes Beginning vblank-vs-dpms-suspend on crtc 20, connector 30 igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0x0, size=0 igt_create_fb_with_bo_size(handle=2, pitch=7680) igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0x0, size=0 igt_create_fb_with_bo_size(handle=3, pitch=7680) igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0x100000000000001, size=0 igt_create_fb_with_bo_size(handle=4, pitch=8192) 1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500 Test requirement passed: !igt_run_in_simulation() Test requirement passed: !igt_run_in_simulation() Test assertion failure function check_state, file kms_flip.c:640: Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <) vblank ts before the vblank was issued! timerdiff -1s, 994391us **** END **** Subtest vblank-vs-dpms-suspend: FAIL (2.443s) [root@x-ivb6 tests]# ./kms_flip --run-subtest vblank-vs-dpms-suspend-interruptible IGT-Version: 1.10-g5253af9 (x86_64) (Linux: 4.1.0-rc3_drm-intel-nightly_056608_20150519+ x86_64) Using monotonic timestamps Beginning vblank-vs-dpms-suspend-interruptible on crtc 20, connector 30 1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500 .rtcwake: wakeup from "mem" using /dev/rtc0 at Tue May 19 19:18:00 2015 .rtcwake: wakeup from "mem" using /dev/rtc0 at Tue May 19 19:18:32 2015 Test assertion failure function check_state, file kms_flip.c:640: Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <) Last errno: 4, Interrupted system call vblank ts before the vblank was issued! timerdiff -1s, 985709us Stack trace: #0 [__igt_fail_assert+0xf1] #1 [check_state+0x271] #2 [run_test_on_crtc_set.constprop.13+0xafc] #3 [run_test+0x25a] #4 [main+0x458] #5 [__libc_start_main+0xf5] #6 [_start+0x29] #7 [<unknown>+0x29] Subtest vblank-vs-dpms-suspend-interruptible failed. **** DEBUG **** Test requirement passed: (flags & TEST_HANG) == 0 || !is_hung(drm_fd) Test requirement passed: modes Beginning vblank-vs-dpms-suspend-interruptible on crtc 20, connector 30 igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0x0, size=0 igt_create_fb_with_bo_size(handle=2, pitch=7680) igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0x0, size=0 igt_create_fb_with_bo_size(handle=3, pitch=7680) igt_create_fb_with_bo_size(width=1920, height=1080, format=0x34325258 [bpp=32], tiling=0x100000000000001, size=0 igt_create_fb_with_bo_size(handle=4, pitch=8192) 1920x1080 60 1920 2008 2052 2200 1080 1084 1089 1125 0x5 0x48 148500 Test requirement passed: !igt_run_in_simulation() Test requirement passed: !igt_run_in_simulation() Test assertion failure function check_state, file kms_flip.c:640: Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <) Last errno: 4, Interrupted system call vblank ts before the vblank was issued! timerdiff -1s, 985709us **** END **** Subtest vblank-vs-dpms-suspend-interruptible: FAIL (2.419s)
Please open a separate bug for the kms_flip failures.
(In reply to Ander Conselvan de Oliveira from comment #4) > Please open a separate bug for the kms_flip failures. Yes those look like a separate issue. I pushed the patches to igt to fix the original IVB pm_rc6_accuracy failure, so closing this one.
Verified it. File a new bug 90516 for the kms_flip failures.
Closing old verified.
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.