Bug 81326 - [HSW/BYT/BDW/BSW Regression]igt/gem_reloc_vs_gpu/forked-faulting-reloc fails
Summary: [HSW/BYT/BDW/BSW Regression]igt/gem_reloc_vs_gpu/forked-faulting-reloc fails
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: highest normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-14 06:36 UTC by Guo Jinxian
Modified: 2017-02-10 08:51 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (85.97 KB, text/plain)
2014-07-14 06:36 UTC, Guo Jinxian
no flags Details

Description Guo Jinxian 2014-07-14 06:36:46 UTC
Created attachment 102741 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes

Good commit on -next-queued: 84a2ab8ec76b4fa47f490a01c8186e4b4d757bfe
Non-working platforms: BDW

==kernel==
--------------------------
origin/drm-intel-nightly: 271bff129a641b5b35d99c9eb0ceb866ca42f692(fails)
    drm-intel-nightly: 2014y-07m-12d-12h-07m-51s integration manifest
origin/drm-intel-next-queued: 491a3448622059b087d8c465b46b11f2953df7c1(fails)
    drm/i915: Enable PSR by default.
origin/drm-intel-fixes: ceb9f032dc858c349d7d213454c5ba2c6ef9c5e5(works)
    Revert "drm/i915: Don't set the 8to6 dither flag when not scaling"

==Bug detailed description==
igt/gem_reloc_vs_gpu/forked-faulting-reloc fails

Output:
[root@x-bdw01 tests]# ./gem_reloc_vs_gpu --run-subtest forked-faulting-reloc
IGT-Version: 1.7-ge74dd22 (x86_64) (Linux: 3.16.0-rc4_drm-intel-nightly_271bff_20140714+ x86_64)
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 7: 0x00000000 instead of 0xdeadbeef
child 4 failed with exit status 99
Subtest forked-faulting-reloc: FAIL

==Reproduce steps==
---------------------------- 
1. ./gem_reloc_vs_gpu --run-subtest forked-faulting-reloc
Comment 1 Guo Jinxian 2014-07-14 06:49:59 UTC
This bug is able to reproduce on BYT on latest -nightly(271bff129a641b5b35d99c9eb0ceb866ca42f692)
Case list:
igt/gem_reloc_vs_gpu/forked
igt/gem_reloc_vs_gpu/forked-faulting-reloc
igt/gem_reloc_vs_gpu/forked-faulting-reloc-thrash-inactive
igt/gem_reloc_vs_gpu/forked-faulting-reloc-thrashing
igt/gem_reloc_vs_gpu/forked-interruptible
igt/gem_reloc_vs_gpu/forked-interruptible-faulting-reloc
igt/gem_reloc_vs_gpu/forked-interruptible-faulting-reloc-thrash-inactive
igt/gem_reloc_vs_gpu/forked-interruptible-faulting-reloc-thrashing
igt/gem_reloc_vs_gpu/forked-interruptible-thrash-inactive
igt/gem_reloc_vs_gpu/forked-interruptible-thrashing
igt/gem_reloc_vs_gpu/forked-thrash-inactive
igt/gem_reloc_vs_gpu/forked-thrashing


Output:
root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_reloc_vs_gpu --run-subtest forked-faulting-reloc-thrash-inactive
IGT-Version: 1.7-ge74dd22 (x86_64) (Linux: 3.16.0-rc4_drm-intel-nightly_271bff_20140714+ x86_64)
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 1: 0x00000000 instead of 0xdeadbeef
child 3 failed with exit status 99
Subtest forked-faulting-reloc-thrash-inactive: FAIL
Comment 2 Guo Jinxian 2014-07-25 09:02:36 UTC
Test failed on latest -next-queued(2b8ee5710915a244b807fbe3427299d007d19e89) on BSW

[root@x-bsw01 tests]# ./gem_reloc_vs_gpu --run-subtest faulting-reloc
IGT-Version: 1.7-g4d4f4b2 (x86_64) (Linux: 3.16.0-rc4_drm-intel-next-queued_2b8ee5_20140725+ x86_64)
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 1: 0x00000000 instead of 0xdeadbeef
Subtest faulting-reloc: FAIL
Test assertion failure function gem_quiescent_gpu, file drmtest.c:149:
Failed assertion: drmIoctl((fd), ((((1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0x40 + 0x29)) << 0) | ((((sizeof(struct drm_i915_gem_execbuffer2)))) << ((0+8)+8)))), (&execbuf)) == 0
Last errno: 5, Input/output error
gem_reloc_vs_gpu: igt_core.c:657: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.
Aborted (core dumped)
Comment 3 lu hua 2014-07-30 05:17:11 UTC
It also fails on BSW.
[root@x-bsw01 tests]# ./gem_reloc_vs_gpu --run-subtest forked-faulting-reloc
IGT-Version: 1.7-ge48c495 (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_eb2af9_20140730+ x86_64)
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 1: 0x00000000 instead of 0xdeadbeef
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 1: 0x00000000 instead of 0xdeadbeef
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 1: 0x00000000 instead of 0xdeadbeef
child 3 failed with exit status 99
Subtest forked-faulting-reloc: FAIL
Comment 4 Guo Jinxian 2014-07-31 02:04:32 UTC
This bug still able to reproduce on latest -nightly(eb2af97968f0321622cf3aeb29991ad78cfdc1ca) on HSW

[root@x-hsw24 tests]# ./gem_reloc_vs_gpu --run-subtest forked-interruptible-faulting-reloc-thrashing
IGT-Version: 1.7-g2fae99b (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_eb2af9_20140730+ x86_64)
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 1: 0x00000000 instead of 0xdeadbeef
child 8 failed with exit status 99
Subtest forked-interruptible-faulting-reloc-thrashing: FAIL
Comment 5 yaoming 2014-08-04 06:53:35 UTC
Test passed on latest -next-queued and latest -nightly on BDW.

[root@x-bdw01 tests]# ./gem_reloc_vs_gpu --run-subtest forked-faulting-reloc
IGT-Version: 1.7-gde1e877 (x86_64) (Linux: 3.16.0-rc4_drm-intel-next-queued_17c58f_20140804+ x86_64)
Subtest forked-faulting-reloc: SUCCESS


[root@x-bdw01 tests]# ./gem_reloc_vs_gpu --run-subtest forked-faulting-reloc
IGT-Version: 1.7-g2fae99b (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_ddbc28_20140804+ x86_64)
Subtest forked-faulting-reloc: SUCCESS
Comment 6 Chris Wilson 2014-08-14 06:03:15 UTC
Presuming it was fixed by

commit e6a844687cf929ec053c7578d5ecc794a8a6c5cf
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Aug 11 12:00:12 2014 +0200

    drm/i915: Force CPU relocations if not GTT mapped
Comment 7 Guo Jinxian 2014-08-15 01:02:59 UTC
Verified on latest -nightly(da31e7c60be217316278a055dd3f91c33913270f)

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_reloc_vs_gpu --run-subtest forked-faulting-reloc
IGT-Version: 1.7-g5c7bcb1 (x86_64) (Linux: 3.16.0_drm-intel-nightly_da31e7_20140814+ x86_64)
Subtest forked-faulting-reloc: SUCCESS
Comment 8 Guo Jinxian 2014-08-15 02:39:56 UTC
This bug fixed on HSW and BDW. but still able to reproduce on BYT and BSW.

Output on BYT:
root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# time ./gem_reloc_vs_gpu --run-subtest faulting-reloc
IGT-Version: 1.7-g5c7bcb1 (x86_64) (Linux: 3.16.0_drm-intel-nightly_da31e7_20140814+ x86_64)
Warning on condition flags != 0 in fucntion check_stop_rings, file drmtest.c:112
i915_ring_stop flags on exit 0x80000002, can't quiescent gpu cleanly
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 1: 0x00000000 instead of 0xdeadbeef
Subtest faulting-reloc: FAIL


Output on BSW
[root@x-bsw01 tests]# time ./gem_reloc_vs_gpu --run-subtest faulting-reloc
IGT-Version: 1.7-g5c7bcb1 (x86_64) (Linux: 3.16.0_drm-intel-nightly_da31e7_20140814+ x86_64)
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:260:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 1: 0x00000000 instead of 0xdeadbeef
Subtest faulting-reloc: FAIL
Test assertion failure function gem_quiescent_gpu, file drmtest.c:178:
Failed assertion: drmIoctl((fd), ((((1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0x40 + 0x29)) << 0) | ((((sizeof(struct drm_i915_gem_execbuffer2)))) << ((0+8)+8)))), (&execbuf)) == 0
Last errno: 5, Input/output error
gem_reloc_vs_gpu: igt_core.c:766: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.
gem_reloc_vs_gpu: igt_core.c:967: igt_stop_helper: Assertion `(((signed char) ((((__extension__ (((union { __typeof(status) __in; int __i; }) { .__in = (status) }).__i))) & 0x7f) + 1) >> 1) > 0) && (((__extension__ (((union { __typeof(status) __in; int __i; }) { .__in = (status) }).__i))) & 0x7f) == (proc->use_SIGKILL ? 9 : 15)' failed.
Test assertion failure function gem_quiescent_gpu, file drmtest.c:164:
Failed assertion: drmIoctl((fd), ((((1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0x40 + 0x29)) << 0) | ((((sizeof(struct drm_i915_gem_execbuffer2)))) << ((0+8)+8)))), (&execbuf)) == 0
Last errno: 5, Input/output error
gem_reloc_vs_gpu: igt_core.c:766: igt_fail: Assertion `!test_with_subtests || in_fixture' failed.
Aborted (core dumped)
Comment 9 Guo Jinxian 2014-09-11 02:03:50 UTC
Test failed on latest -nightly(99f444f7f8308ca93d56a3802a3e1a8abcad7f57) on BDW

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_reloc_vs_gpu --run-subtest forked-interruptible-faulting-reloc
IGT-Version: 1.8-g107151c (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_99f444_20140910+ x86_64)
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:258:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 5: 0x00000000 instead of 0xdeadbeef
child 9 failed with exit status 99
Subtest forked-interruptible-faulting-reloc: FAIL (4.190s)
Comment 10 Guo Jinxian 2014-09-16 02:13:02 UTC
Test fails on latest -nightly(43df30da20447e2856b2761215ff274886a9f931) on HSW

[root@x-hsw24 tests]# ./gem_reloc_vs_gpu --run-subtest forked-faulting-reloc
IGT-Version: 1.8-g137877f (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_43df30_20140915+ x86_64)
Test assertion failure function do_test, file gem_reloc_vs_gpu.c:258:
Failed assertion: test == 0xdeadbeef
mismatch in buffer 14: 0x00000000 instead of 0xdeadbeef
child 10 failed with exit status 99
Subtest forked-faulting-reloc: FAIL (6.096s)
Comment 11 Chris Wilson 2014-09-19 15:48:13 UTC
commit 4b81e9ca7df84d3c8775ebf0332f7444cafe8e77
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Sep 19 16:40:00 2014 +0100

    igt/gem_reloc_vs_gpu: Fix reloc.presumed_offset value
    
    Since the last patched value does not match the presumed relocation
    value we submit to the kernel, it occasionally makes mistakes. Also note
    that the libdrm interface makes the same presumptive mistake, and would
    easily be broken by a threaded environment.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77793
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 12 Guo Jinxian 2014-09-22 07:02:19 UTC
Verified on latest igt(4b81e9ca7df84d3c8775ebf0332f7444cafe8e77)

[root@x-hsw27 tests]# ./gem_reloc_vs_gpu --run-subtest forked-interruptible-faulting-reloc-thrashing
IGT-Version: 1.8-g4b81e9c (x86_64) (Linux: 3.17.0-rc5_drm-intel-nightly_c5660b_20140922_debug+ x86_64)
Subtest forked-interruptible-faulting-reloc-thrashing: SUCCESS (6.872s)
[root@x-hsw27 tests]# echo $?
0
[root@x-hsw27 tests]# dmesg -r|egrep "<[1-4]>"|grep drm
Comment 13 Jari Tahvanainen 2017-02-10 08:51:12 UTC
Closing (>2 years) old 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.