Bug 89728 - [HSW bisected] igt / pm_rps / reset fails
Summary: [HSW bisected] igt / pm_rps / reset fails
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high major
Assignee: Luis Botello
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
: 89869 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-03-23 10:01 UTC by ye.tian
Modified: 2016-10-04 21:23 UTC (History)
4 users (show)

See Also:
i915 platform: HSW
i915 features: power/Other


Attachments
dmesg with drm.debug info (95.51 KB, text/plain)
2015-03-23 10:22 UTC, ye.tian
no flags Details
Output message (188.00 KB, text/plain)
2016-03-07 19:51 UTC, Elio
no flags Details
Dmesg log (180.58 KB, text/plain)
2016-03-07 19:51 UTC, Elio
no flags Details

Description ye.tian 2015-03-23 10:01:57 UTC
System Environment:       
-----------------------------------------------------
Regression: Yes, regression on drm-intel-next-queued branch
Good commit: e0860aeed3980d1f7b564e1b5cf51ea26740542f
Bad  commit: 0b37a9a9ebdf47dc9d5290a1c69bd944dde5cc15

Non-working platforms: HSW

==Kernel==
--------------------------------------------------
commit 0b37a9a9ebdf47dc9d5290a1c69bd944dde5cc15
Author: Michel Thierry <michel.thierry@intel.com>
...skipping...
    drm/i915: Do not leak objects after capturing error state

    While running kmemleak chasing a different memleak, I saw that the
    capture_error_state function was leaking some objects, for example:


==Bug detailed description==
Igt/pm_rps subcases reset and blocking fail
Output:
IGT-Version: 1.10-ge7d26df (x86_64) (Linux: 4.0.0-rc4_drm-intel-nightly_294a23_20150321_                                                                                debug+ x86_64)
Test assertion failure function checkit, file pm_rps.c:154:
Failed assertion: freqs[MIN] <= freqs[CUR]
error: 450 > 200
Subtest reset failed.
**** DEBUG ****
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
Waited 10000 msec to stabilize cur
Stop rings...
Ring stop cleared
Apply high load...
gt freq (MHz):  cur=200  min=450  max=1200  RP0=1200  RP1=350  RPn=200
Test assertion failure function checkit, file pm_rps.c:154:
Failed assertion: freqs[MIN] <= freqs[CUR]
error: 450 > 200
****  END  ****
Subtest reset: FAIL (25.744s)
Received signal SIGTERM.
Test assertion failure function load_helper_stop, file pm_rps.c:290:
Failed assertion: igt_wait_helper(&lh.igt_proc) == 0
Last errno: 10, No child processes
Test pm_rps failed.
**** DEBUG ****
Exiting with status code 99
Test assertion failure function load_helper_stop, file pm_rps.c:290:
Failed assertion: igt_wait_helper(&lh.igt_proc) == 0
Last errno: 10, No child processes
****  END  ****
pm_rps: igt_core.c:938: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.
Aborted (core dumped)

Reproduce steps:
----------------------------
1, ./pm_rps --run-subtest reset
Comment 1 ye.tian 2015-03-23 10:22:26 UTC
Created attachment 114546 [details]
dmesg with drm.debug info
Comment 2 Jesse Barnes 2015-03-23 20:17:33 UTC
This must be a regression, right?  Can you bisect?
Comment 3 Jesse Barnes 2015-03-23 20:17:53 UTC
Nevermind just saw that at the top of the first msg...
Comment 4 Jesse Barnes 2015-03-23 20:19:10 UTC
That result doesn't make sense though; please re-bisect to see.  Maybe the test is unreliable?  If you run it 100 times does it always pass on the old kernel?
Comment 5 Gordon Jin 2015-03-24 00:49:48 UTC
(In reply to Jesse Barnes from comment #3)
> Nevermind just saw that at the top of the first msg...

I think that just says the kernel in use, not the bisect result.
Comment 6 ye.tian 2015-03-24 06:12:37 UTC
By bisected, show the first bad commit is aed242f.

commit aed242ff7ebb697e4dff912bd4dc7ec7192f7581
Author:     Chris Wilson <chris@chris-wilson.co.uk>
AuthorDate: Wed Mar 18 09:48:21 2015 +0000
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Fri Mar 20 11:48:13 2015 +0100

    drm/i915: Relax RPS contraints to allows setting minfreq on idle

    When we idle, we set the GPU frequency to the hardware minimum (not user
    minimum). We introduce a new variable to distinguish between the
    different roles, and to allow easy tuning of the idle frequency without
    impacting over aspects of RPS. Setting the minimum frequency should be a
    safety blanket as the pcu on the GPU should be power gating itself
    anyway. However, in order for us to do set the absolute minimum
    frequency, we need to relax a few of our assertions that we do not
    exceed the user limits.
Comment 7 ye.tian 2015-03-24 07:41:30 UTC
(In reply to Jesse Barnes from comment #4)
> If you run it 100 times does it always pass on the old
> kernel?

Yes, run 100 times, it always pass on the old kernel(edf442).
Comment 8 ye.tian 2015-03-24 07:56:37 UTC
This issue also exists on BSW.
Comment 9 ye.tian 2015-03-25 03:50:15 UTC
This issue also exists on SKL. 
The subtest reset exists on SNB, but subcase blocking is success.
Comment 10 Jesse Barnes 2015-03-25 21:35:38 UTC
Daniel, looks like that commit might have broken some pm_rps assumptions...
Comment 11 Jesse Barnes 2015-04-02 20:51:12 UTC
*** Bug 89869 has been marked as a duplicate of this bug. ***
Comment 12 ye.tian 2015-04-09 08:57:07 UTC
This issue also exists on BDW.

output:
--------------
root@x-bdw01:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./pm_rps --run-subtest reset
IGT-Version: 1.10-gd9a25af (x86_64) (Linux: 4.0.0-rc6_drm-intel-nightly_ff2304_20150331+ x86_64)
Test assertion failure function checkit, file pm_rps.c:154:
Failed assertion: freqs[MIN] <= freqs[CUR]
error: 450 > 100
Stack trace:
  #0 [__igt_fail_assert+0xfc]
  #1 [checkit+0x8b]
  #2 [loaded_check+0x43]
  #3 [__real_main660+0x348]
  #4 [main+0x21]
  #5 [__libc_start_main+0xf5]
  #6 [_start+0x29]
  #7 [<unknown>+0x29]
Subtest reset failed.
**** DEBUG ****
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
Waited 10000 msec to stabilize cur
Stop rings...
Ring stop cleared
Apply high load...
gt freq (MHz):  cur=100  min=450  max=500  RP0=500  RP1=200  RPn=100
Test assertion failure function checkit, file pm_rps.c:154:
Failed assertion: freqs[MIN] <= freqs[CUR]
error: 450 > 100
****  END  ****
Subtest reset: FAIL (25.835s)
Test assertion failure function load_helper_stop, file pm_rps.c:290:
Failed assertion: igt_wait_helper(&lh.igt_proc) == 0
Last errno: 10, No child processes
Stack trace:
  #0 [__igt_fail_assert+0xfc]
  #1 [load_helper_stop+0x53]
  #2 [pm_rps_exit_handler+0xfd]
  #3 [igt_atexit_handler+0x49]
  #4 [__libc_secure_getenv+0xf9]
  #5 [exit+0x15]
  #6 [igt_exit+0xde]
  #7 [main+0x26]
  #8 [__libc_start_main+0xf5]
  #9 [_start+0x29]
  #10 [<unknown>+0x29]
Test pm_rps failed.
**** DEBUG ****
Exiting with status code 99
Test assertion failure function load_helper_stop, file pm_rps.c:290:
Failed assertion: igt_wait_helper(&lh.igt_proc) == 0
Last errno: 10, No child processes
****  END  ****
pm_rps: igt_core.c:949: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.
Aborted (core dumped)
Comment 13 ye.tian 2015-04-23 07:38:23 UTC
Test it on BDW with the latest nightly kernel and latest igt, it still exists.

output:
-------------
root@x-bsw08:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./pm_rps --run-subtest reset
IGT-Version: 1.10-ge1ce5ea (x86_64) (Linux: 4.0.0_drm-intel-nightly_b9fe35_20150421+ x86_64)
Test assertion failure function matchit, file pm_rps.c:165:
Failed assertion: freqs1[CUR] == freqs2[CUR]
error: 200 != 640
Stack trace:
  #0 [__igt_fail_assert+0xf1]
  #1 [matchit+0x7a]
  #2 [__real_main660+0x378]
  #3 [main+0x21]
  #4 [__libc_start_main+0xf5]
  #5 [_start+0x29]
  #6 [<unknown>+0x29]
Subtest reset failed.
**** DEBUG ****
  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
gt freq (MHz):  cur=640  min=200  max=640  RP0=640  RP1=400  RPn=200
Waited 10000 msec to stabilize cur
Test assertion failure function matchit, file pm_rps.c:165:
Failed assertion: freqs1[CUR] == freqs2[CUR]
error: 200 != 640
****  END  ****
Subtest reset: FAIL (36.224s)
Test assertion failure function load_helper_stop, file pm_rps.c:290:
Failed assertion: igt_wait_helper(&lh.igt_proc) == 0
Last errno: 10, No child processes
Stack trace:
  #0 [__igt_fail_assert+0xf1]
  #1 [load_helper_stop+0x48]
  #2 [pm_rps_exit_handler+0xfd]
  #3 [igt_atexit_handler+0x49]
  #4 [__libc_secure_getenv+0xf9]
  #5 [exit+0x15]
  #6 [igt_exit+0xde]
  #7 [_start+0x0]
  #8 [__libc_start_main+0xf5]
  #9 [_start+0x29]
  #10 [<unknown>+0x29]
Test pm_rps failed.
**** DEBUG ****
Exiting with status code 99
Test assertion failure function load_helper_stop, file pm_rps.c:290:
Failed assertion: igt_wait_helper(&lh.igt_proc) == 0
Last errno: 10, No child processes
****  END  ****
pm_rps: igt_core.c:949: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.
Aborted (core dumped)
Comment 14 ye.tian 2015-04-28 02:09:31 UTC
Test it on BDW with the latest nightly kernel and latest igt, it still exists.
Comment 15 Humberto Israel Perez Rodriguez 2015-10-15 17:51:57 UTC
Reproduced on HSW with the latest configuration:

Configuration :
---------------------------------------------
kernel: 4.3.0-rc4-drm-intel-testing-2015-10-10
xorg-server-1.17.2
libdrm-2.4.65
xf86-video-intel-2.99.917
mesa-11.0.2
libva-1.6.1
intel-driver-1.6.1
cairo-1.14.2
IGT Version : 1.12-g1f9e055
Comment 16 Elio 2015-11-25 19:35:57 UTC
Same problem present on BYT-M with test case pm_rps@min-max-config-idle

Kernel: 4.4.0-rc1-nightly+
Ubuntu: 15.04

xorg-server-1.17.2
libdrm-2.4.65
xf86-video-intel-2.99.917
mesa-11.0.6
libva-1.6.1
intel-driver-1.6.1
cairo-1.14.2

Test assertion failure function checkit, file pm_rps.c:149:
Failed assertion: freqs[MIN] <= freqs[CUR]
Last errno: 22, Invalid argument
error: 467 > 178
Subtest min-max-config-idle failed.
**** DEBUG ****

Check original min and max...
gt freq (MHz):  cur=178  min=178  max=757  RP0=757  RP1=312  RPn=178
Required 0 msec to reach cur=min

Set min=RPn and max=RP0...
gt freq (MHz):  cur=178  min=178  max=757  RP0=757  RP1=312  RPn=178
Required 0 msec to reach cur=min

Increase min to midpoint...
gt freq (MHz):  cur=467  min=467  max=757  RP0=757  RP1=312  RPn=178
Required 0 msec to reach cur=min

Increase min to RP0...
gt freq (MHz):  cur=757  min=757  max=757  RP0=757  RP1=312  RPn=178
Required 0 msec to reach cur=min

Increase min above RP0 (invalid)...
gt freq (MHz):  cur=757  min=757  max=757  RP0=757  RP1=312  RPn=178
Required 0 msec to reach cur=min

Decrease max to RPn (invalid)...
gt freq (MHz):  cur=757  min=757  max=757  RP0=757  RP1=312  RPn=178
Required 0 msec to reach cur=min

Decrease min to midpoint...
gt freq (MHz):  cur=757  min=467  max=757  RP0=757  RP1=312  RPn=178
gt freq (MHz):  cur=178  min=467  max=757  RP0=757  RP1=312  RPn=178
Test assertion failure function checkit, file pm_rps.c:149:
Failed assertion: freqs[MIN] <= freqs[CUR]
Last errno: 22, Invalid argument
error: 467 > 178
****  END  ****
Comment 17 Imre Deak 2015-11-25 21:48:40 UTC
(In reply to Elio from comment #16)
> Same problem present on BYT-M with test case pm_rps@min-max-config-idle
> 
> Kernel: 4.4.0-rc1-nightly+
> Ubuntu: 15.04
> 
> xorg-server-1.17.2
> libdrm-2.4.65
> xf86-video-intel-2.99.917
> mesa-11.0.6
> libva-1.6.1
> intel-driver-1.6.1
> cairo-1.14.2
> 
> Test assertion failure function checkit, file pm_rps.c:149:
> Failed assertion: freqs[MIN] <= freqs[CUR]
> Last errno: 22, Invalid argument
> error: 467 > 178
> Subtest min-max-config-idle failed.
> **** DEBUG ****
> 
> Check original min and max...
> gt freq (MHz):  cur=178  min=178  max=757  RP0=757  RP1=312  RPn=178
> Required 0 msec to reach cur=min

The following should fix this, please give it a try. Bob promised to send an updated version of it I'll ping him:
http://lists.freedesktop.org/archives/intel-gfx/2015-November/079954.html
Comment 18 cprigent 2015-12-08 21:52:38 UTC
pm_rps@reset is fail on BSW and HSW with tag testing 2015-12-04.

Hardware:
Motherboard: SawTooth Peak cpu model name : Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz
cpu model : 61
cpu family : 6
Graphic card: Broadwell-U Integrated Graphics (rev 09)
Bios: EBH7710H.86A.0096.2012.1012.1645

Hardware:
Motherboard: SawTooth Peak
cpu model name : Intel(R) Core(TM) i7-4550U CPU @ 1.50GHz
cpu model : 69
cpu family : 6
Graphic card: Haswell-ULT Integrated Graphics Controller (rev 09)
Bios: EBH7710H.86A.0096.2012.1012.1645  

Software:
Kernel: tag 2015-12-04-drm-intel-testing 4.4.0-rc3 91587c7 from http://cgit.freedesktop.org/drm-intel/
Ubuntu 14.04.1 LTS
Libdrm: 2.4.65 from http://cgit.freedesktop.org/mesa/drm/

Assigned to me to check the patch.
Comment 19 cprigent 2015-12-09 09:32:22 UTC
Also fail on SNB with tag testing 2015-12-04

Hardware:
Motherboard: DQ67SW
cpu model name	: Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz
cpu model	: 42
cpu family	: 6
Graphic card: 2nd Generation Core Processor Family Integrated Graphics

Software:
Kernel: tag 2015-12-04-drm-intel-testing 4.4.0-rc3 91587c7 from http://cgit.freedesktop.org/drm-intel/
Ubuntu 14.04.1 LTS
Bios: EBH7710H.86A.0096.2012.1012.1645
Libdrm: 2.4.65 from http://cgit.freedesktop.org/mesa/drm/
Comment 20 Humberto Israel Perez Rodriguez 2016-01-05 20:01:58 UTC
no reproduce with latest kernel and latest igt version on SNB/IVB

kernel drm-intel-testing:

commit 91587c722c28c4116dedbfbf08aa874377bc76f8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Dec 4 17:35:54 2015 +0100

    drm-intel-nightly: 2015y-12m-04d-16h-35m-07s UTC integration manifest


kernel version : 4.4.0-rc3
git url        : git://anongit.freedesktop.org/drm-intel
git branch     : drm-intel-testing
git describe   : drm-intel-next-2015-11-20-rebased-13721-g91587c7

igt tools :
branch : intel-gpu-tools-1.13
commit : 2db78a4995a8ee298ae0cd68879baf80407a0e5e
Comment 21 Jairo Miramontes 2016-01-05 21:41:57 UTC
This test passed on SKL using the following configuration: 

==Hardware==
Platform: SKY LAKE Y A0
CPU: Intel(R) Core(TM) m3-6Y30 CPU @ 0.8GHz 4MB (family: 6, model: 78
stepping: 3)
MCP: SKL-Y  D1  2+2 (ou ULX-D1)
QDF: QYV3
CPU: SKL D0
Chipset PCH: Sunrise Point LP C1
CRB: SKY LAKE Y LPDDR3 RVP3 CRB FAB2
Reworks : All Mandatories + FBS02 & FBS03, O-06 Software Linux distribution: Ubuntu 14.04 LTS 64 bits
BIOS: 93.2
ME FW: 11.0.0.1149
Ksc (EC FW): 1.15



==Software==
Linux distribution: Ubuntu 15.10 64 bits 
BIOS : 104.1
kernel  drm-intel-nightly: 2015y-12m-04d-16h-35m-07s UTC integration manifest
commit 91587c722c28c4116dedbfbf08aa874377bc76f8
cairo: (HEAD, tag: 1.14.6) 9d3191da6fae7dfd914c3516d6ba369c9ba1a576 from git://git.freedesktop.org/git/cairo
drm: (HEAD, tag: libdrm-2.4.66) b38a4b2326c1be5702f5cb73a53c0ed74c12d510 from git://git.freedesktop.org/git/mesa/drm
intel-driver: (HEAD, tag: 1.6.2) 683edeedfdfd769807c18ed3797223f82b7aa0cc from git://git.freedesktop.org/git/vaapi/intel-driver
libva: (HEAD, tag: libva-1.6.2) 304bc13e244f9d5e185a0d8a87fcf3a3eb5a8bd8 from git://git.freedesktop.org/git/vaapi/libva
mesa: (HEAD, tag: mesa-11.0.8) 261daab6b4f7a1cff143bebcd632ad5a2cdafa74 from git://git.freedesktop.org/git/mesa/mesa
xf86-video-intel: (HEAD, tag: 2.99.917) 8e987511f0f190115e2587a94922b766d4f8719af rom git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
xserver: (HEAD, tag: xorg-server-1.18.0) 43fb888bd01cf9d3d277e77a52a3d0c93ccff8bd from git://git.freedesktop.org/git/xorg/xserver
Comment 22 Elio 2016-01-07 16:36:01 UTC
The problem is present in HSW and BYT platform with following configuration
kernel: 4.4.0-rc6-drm-intel-nightly-2015-10-10
commit 0417da5e6f56078d87d366d5f959f8290ae9d16d
IGT= intel-gpu-tools-1.13
Cairo=1.15.2
Intel-Driver= 1.6.2.pre2
xf86= 2.99.917-524-g8e98751
libva=libva-1.6.2.pre3
xorg-server=xorg-server-1.18.0
drm=libdrm-2.4.65
mesa=mesa-11.1.0

The following test is failing on both platforms with same configuration:
./pm_rps --run-subtest reset:

Same error message that previous tries 


And this one is failing just for BYT:

pm_rps@min-max-config-idle

Adding BYT to header
Comment 23 Elio 2016-03-07 19:48:34 UTC
Issue still on BDW with following configuration:

++ Kernel version                      : 4.5.0-rc5-nightly+
 ++ Linux distribution                  : Ubuntu 15.10
 ++ 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.67
 ++ VAAPI version                       : Intel i965 driver for Intel(R) Broadwell - 1.6.3.pre1 (1.6.1-92-gf6fe842)
 ++ Cairo version                       : 1.15.2
 ++ Intel GPU Tools version             : Tag [intel-gpu-tools-1.14-1-gfbe92a2] / Commit [fbe92a2]
 ++ Kernel driver in use                : i915
 ++ Bios revision                       : 5.6
 ++ KSC revision                        : Not found <-- maybe the DUT doesn't has this firmware
Comment 24 Elio 2016-03-07 19:50:14 UTC
Attaching output and dmesg
Comment 25 Elio 2016-03-07 19:51:01 UTC
Created attachment 122149 [details]
Output message
Comment 26 Elio 2016-03-07 19:51:41 UTC
Created attachment 122150 [details]
Dmesg log
Comment 27 maria guadalupe 2016-04-19 18:43:25 UTC
this test keeps fail on HSW with the latest configuration : 

Software configuration
=======================
Linux distribution: Ubuntu 15.10 64 bits
Kernel: drm-intel-nightly 4.6.0-rc3_d9131d6 from http://cgit.freedesktop.org/drm-intel/
commit d9131d62d18ba94fb3ca019f1156c22b5f4ce23c
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Fri Apr 15 14:54:26 2016 +0100
drm-intel-nightly: 2016y-04m-15d-13h-53m-44s UTC integration manifestdrm: tag libdrm-2.4.66-33-gf884af9
      libdrm 2.4.67-25 cc9a53f from git://git.freedesktop.org/git/mesa/drm
mesa 11.1.2 7bcd827 from git://git.freedesktop.org/git/mesa/mesa
cairo 1.15.2 db8a7f1 from git://git.freedesktop.org/git/cairo
xorg/xserver 1.18.0-274 8437955 from git://git.freedesktop.org/git/xorg/xserver
xf86-video-intel 2.99.917-634 81029be from git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
vaapi/libva 1.7.0-1 2339d10 from git://git.freedesktop.org/git/vaapi/libva
vaapi/intel-driver 1.7.0-8 2c1bec0 from git://git.freedesktop.org/git/vaapi/intel-driver
intel-gpu-tool 1.14 7bd2ac6 from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
rendercheck master 44032a7 from http://anongit.freedesktop.org/git/xorg/app/rendercheck.git

test output
==============
**** DEBUG ****
  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) DEBUG: gt freq (MHz):  cur=500  min=500  max=1000  RP0=1000  RP1=200  RPn=200
(pm_rps:2281) CRITICAL: Test assertion failure function idle_check, file pm_rps.c:485:
(pm_rps:2281) CRITICAL: Failed assertion: freqs[CUR] == freqs[RPn]
(pm_rps:2281) CRITICAL: error: 500 != 200
****  END  ****
Comment 28 Luis Botello 2016-04-21 20:56:40 UTC
This issue is not seen any more on BSW with the following configuration:

Software Configuration
================================================
Linux distribution: Ubuntu 15.10 64 bits
Kernel: drm-intel-nightly 4.6.0-rc3_d9131d6 from http://cgit.freedesktop.org/drm-intel/
commit d9131d62d18ba94fb3ca019f1156c22b5f4ce23c
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Fri Apr 15 14:54:26 2016 +0100
drm-intel-nightly: 2016y-04m-15d-13h-53m-44s UTC integration manifestdrm: tag libdrm-2.4.66-33-gf884af9
      libdrm 2.4.67-25 cc9a53f from git://git.freedesktop.org/git/mesa/drm
mesa 11.1.2 7bcd827 from git://git.freedesktop.org/git/mesa/mesa
cairo 1.15.2 db8a7f1 from git://git.freedesktop.org/git/cairo
xorg/xserver 1.18.0-274 8437955 from git://git.freedesktop.org/git/xorg/xserver
xf86-video-intel 2.99.917-634 81029be from git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
vaapi/libva 1.7.0-1 2339d10 from git://git.freedesktop.org/git/vaapi/libva
vaapi/intel-driver 1.7.0-8 2c1bec0 from git://git.freedesktop.org/git/vaapi/intel-driver
intel-gpu-tool 1.14 7bd2ac6 from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
rendercheck master 44032a7 from http://anongit.freedesktop.org/git/xorg/app/rendercheck.git

The results of all this tests are SUCCESS 5 of 5 times. So, removing BSW from this bug.
Comment 29 Chris Wilson 2016-06-21 10:42:32 UTC
Merged commit 2b83c4c49abc908ce2863df71067079a6ad8dd86
Author: Michał Winiarski <michal.winiarski@intel.com>
Date:   Mon Jun 20 11:58:27 2016 +0200

    drm/i915: Set softmin frequency on idle->busy transition
    
    If the GPU load is low enough, it's possible that we'll be stuck at idle
    frequency rather than transition into softmin frequency requested by
    userspace.
    
    v2: Use intel_set_rps, drop vlv_set_idle
    v3: Back to vlv_set_idle, clamp to valid range
    v4: Place intel_set_rps at the end
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=89728

which references this bug, please check.
Comment 30 cprigent 2016-08-05 13:46:38 UTC
I reported bug 97215. Failure seems different.
Comment 31 yann 2016-09-19 15:06:48 UTC
Ricardo, please check with the team who can re-test
Comment 32 Luis Botello 2016-09-30 18:35:51 UTC
Test is passing over BYT wuth the following config:

 Software information
============================================
Kernel Version:
commit aab15c274da587bcab19376d2caa9d6626440335
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Mon Sep 26 15:11:53 2016 +0300

    drm-intel-nightly: 2016y-09m-26d-12h-11m-33s UTC integration manifest

Linux distribution              : Ubuntu 16.04.1 LTS
Architecture                    : 64-bit
Xorg-Xserver version            : 1.18.99.2
DRM version                     : 2.4.70
VAAPI version                   : Intel i965 driver for Intel(R) Bay Trail - 1.7.3.pre1 (1.7.0-136-g36fbd81)
Cairo version                   : 1.15.2
Intel GPU Tools version         : Tag [intel-gpu-tools-1.16-22-g200237a] / Commit [200237a]
Kernel driver in use            : i915

 Hardware information
============================================
Platform                        : BYT-M (Toshiba)
Motherboard model               : Satellite C55t-A
Motherboard type                : Portable PC Notebook
Motherboard manufacturer        : TOSHIBA
CPU family                      : Atom
CPU information                 : Intel(R) Celeron(R) CPU  N2820  @ 2.13GHz
GPU Card                        : Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0c) (prog-if 00 [VGA controller])
Memory ram                      : 4 GB
Maximum memory ram allowed      : 8 GB
Display resolution              :
CPU thread                      : 2
CPU core                        : 2
Socket                          : None
Signature                       : Type 0, Family 6, Model 55, Stepping 3
Hard drive capacity             : 465GiB (500GB)


Removing BYT
Comment 33 Luis Botello 2016-10-04 17:50:08 UTC
Test is passing now over BDW with the following config:

Kernel           : drm-intel-nightly WW40
	version  : 4.8.0-rc8 

commit aab15c274da587bcab19376d2caa9d6626440335
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Mon Sep 26 15:11:53 2016 +0300

    drm-intel-nightly: 2016y-09m-26d-12h-11m-33s UTC integration manifest


Kernel version : 4.8.0-rc8-aab15c2
Architecture : source amd64 all 

Component         : drm
	tag       : libdrm-2.4.70-14-g0659558
	commit    : 0659558f6418693ad203b5de2f1bc4fa9f28708e 

Component         : cairo
	tag       : 1.15.2
	commit    : db8a7f1697c49ae4942d2aa49eed52dd73dd9c7a 

Component         : intel-gpu-tools
	tag       : intel-gpu-tools-1.16-30-g32b2021
	commit    : 32b20211adf231b41dd5af8efc561bcf7d960da6 

Removing BDW
Comment 34 Luis Botello 2016-10-04 21:21:53 UTC
Also passing on HSW with the same Software config as above.

 Hardware information
============================================
Platform                        : HSW-Nuc
Motherboard model               :
Motherboard type                : D54250WYK Desktop
Motherboard manufacturer        :
CPU family                      : Core i5
CPU information                 : Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz
GPU Card                        : Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])


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.