Summary: | igt/gem_userptr_blits fails | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Guo Jinxian <jinxianx.guo> | ||||||||||
Component: | DRM/Intel | Assignee: | Chris Wilson <chris> | ||||||||||
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||
Severity: | normal | ||||||||||||
Priority: | high | CC: | intel-gfx-bugs, yi.sun | ||||||||||
Version: | unspecified | ||||||||||||
Hardware: | Other | ||||||||||||
OS: | All | ||||||||||||
Whiteboard: | |||||||||||||
i915 platform: | i915 features: | ||||||||||||
Attachments: |
|
Description
Guo Jinxian
2014-05-26 03:52:17 UTC
Created attachment 99821 [details]
dmesg
Test costs long time sometimes.
time ./gem_userptr_blits
IGT-Version: 1.6-gff3c122 (x86_64) (Linux: 3.15.0-rc3_drm-intel-next-queued_f83d65_20140525+ x86_64)
Aperture size is 2048 MiB
Total RAM is 7901 MiB
Subtest input-checking: SUCCESS
Subtest usage-restrictions: SUCCESS
Subtest invalid-mapping: SUCCESS
Subtest forbidden-operations: SUCCESS
Testing unsynchronized mappings...
Subtest create-destroy-unsync: SUCCESS
Subtest unsync-overlap: SUCCESS
Subtest unsync-unmap: SUCCESS
Subtest unsync-unmap-cycles: SUCCESS
Subtest unsync-unmap-after-close: SUCCESS
Using 2x1365 1MiB buffers
Verifying initialisation...
Cyclic blits cpu->gpu, forward...
Cyclic blits gpu->cpu, backward...
Random blits...
Subtest coherency-unsync: SUCCESS
Subtest dmabuf-unsync: SUCCESS
Subtest forked-unsync-normal: SUCCESS
Subtest forked-unsync-interruptible: SUCCESS
Subtest forked-unsync-swapping-normal: SUCCESS
Subtest forked-unsync-swapping-interruptible: SUCCESS
Subtest forked-unsync-multifd-normal: SUCCESS
Subtest forked-unsync-multifd-interruptible: SUCCESS
Subtest forked-unsync-swapping-multifd-normal: SUCCESS
Subtest forked-unsync-swapping-multifd-interruptible: SUCCESS
child 0 died with signal 9, Killed
Subtest forked-unsync-mempressure-normal: FAIL
Test assertion failure function __igt_fork, file igt_core.c:889:
Last errno: 12, Cannot allocate memory
Failed assertion: 0
Subtest forked-unsync-mempressure-interruptible: FAIL
Test requirement not met in function forking_evictions, file eviction_common.c:181:
Last errno: 12, Cannot allocate memory
Test requirement: (!(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb()))
Subtest forked-unsync-swapping-mempressure-normal: SKIP
Test requirement not met in function forking_evictions, file eviction_common.c:181:
Last errno: 12, Cannot allocate memory
Test requirement: (!(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb()))
Subtest forked-unsync-swapping-mempressure-interruptible: SKIP
Test assertion failure function __igt_fork, file igt_core.c:889:
Last errno: 12, Cannot allocate memory
Failed assertion: 0
Subtest forked-unsync-multifd-mempressure-normal: FAIL
Test assertion failure function __igt_fork, file igt_core.c:889:
Last errno: 12, Cannot allocate memory
Failed assertion: 0
Subtest forked-unsync-multifd-mempressure-interruptible: FAIL
Test requirement not met in function forking_evictions, file eviction_common.c:181:
Last errno: 12, Cannot allocate memory
Test requirement: (!(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb()))
Subtest forked-unsync-swapping-multifd-mempressure-normal: SKIP
Test requirement not met in function forking_evictions, file eviction_common.c:181:
Last errno: 12, Cannot allocate memory
Test requirement: (!(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb()))
Subtest forked-unsync-swapping-multifd-mempressure-interruptible: SKIP
Subtest swapping-unsync-normal: SUCCESS
Subtest minor-unsync-normal: SUCCESS
Subtest major-unsync-normal: SUCCESS
Subtest swapping-unsync-interruptible: SUCCESS
Subtest minor-unsync-interruptible: SUCCESS
Subtest major-unsync-interruptible: SUCCESS
Testing synchronized mappings...
Subtest create-destroy-sync: SUCCESS
Subtest sync-overlap: SUCCESS
Subtest sync-unmap: SUCCESS
Subtest sync-unmap-cycles: SUCCESS
Subtest sync-unmap-after-close: SUCCESS
Using 2x1365 1MiB buffers
Verifying initialisation...
Cyclic blits cpu->gpu, forward...
Cyclic blits gpu->cpu, backward...
Random blits...
Subtest coherency-sync: SUCCESS
Test assertion failure function check_bo, file gem_userptr_blits.c:599:
Last errno: 0, Success
Failed assertion: ptr1[i] == counter
Subtest dmabuf-sync: FAIL
Unhandled failure in child 0
gem_userptr_blits: igt_core.c:859: children_exit_handler: Assertion `ret == 0' failed.
Aborted (core dumped)
real 41m45.523s
user 0m6.311s
sys 29m14.948s
Your failures are unclear here. There are at least 3 different problems you have conflated into this bug report. Please file the sigbus assertion, the insufficient memory to run tests, and the coherency failure as 3 individual bugs. (In reply to comment #2) > Your failures are unclear here. There are at least 3 different problems you > have conflated into this bug report. Please file the sigbus assertion, the > insufficient memory to run tests, and the coherency failure as 3 individual > bugs. Bug 79242 bug 79244 and bug 79245 were created to track different problems. *** This bug has been marked as a duplicate of bug 80208 *** (In reply to comment #4) > > *** This bug has been marked as a duplicate of bug 80208 *** Bug 80208 had fixed, but this bug still able to reproduce on latest -nightly(271bff129a641b5b35d99c9eb0ceb866ca42f692),so reopen it. Output: root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_userptr_blits IGT-Version: 1.7-ge74dd22 (x86_64) (Linux: 3.16.0-rc4_drm-intel-nightly_271bff_20140714+ x86_64) Aperture size is 2048 MiB Total RAM is 1894 MiB Subtest input-checking: SUCCESS Subtest usage-restrictions: SUCCESS Subtest invalid-mapping: SUCCESS Test assertion failure function test_forked_access, file gem_userptr_blits.c:583: Failed assertion: memcmp(ptr1, ptr2, PAGE_SIZE) == 0 Subtest forked-access: FAIL Subtest forbidden-operations: SUCCESS Testing unsynchronized mappings... Subtest create-destroy-unsync: SUCCESS Subtest unsync-overlap: SUCCESS Subtest unsync-unmap: SUCCESS Subtest unsync-unmap-cycles: SUCCESS Subtest unsync-unmap-after-close: SUCCESS Using 2x1365 1MiB buffers Verifying initialisation... Cyclic blits cpu->gpu, forward... Cyclic blits gpu->cpu, backward... Random blits... Subtest coherency-unsync: SUCCESS Bus error (In reply to comment #5) > (In reply to comment #4) > > > > *** This bug has been marked as a duplicate of bug 80208 *** > > Bug 80208 had fixed, but this bug still able to reproduce on latest > -nightly(271bff129a641b5b35d99c9eb0ceb866ca42f692),so reopen it. > > Output: > root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# > ./gem_userptr_blits > IGT-Version: 1.7-ge74dd22 (x86_64) (Linux: > 3.16.0-rc4_drm-intel-nightly_271bff_20140714+ x86_64) > Aperture size is 2048 MiB > Total RAM is 1894 MiB > Subtest input-checking: SUCCESS > Subtest usage-restrictions: SUCCESS > Subtest invalid-mapping: SUCCESS > Test assertion failure function test_forked_access, file > gem_userptr_blits.c:583: > Failed assertion: memcmp(ptr1, ptr2, PAGE_SIZE) == 0 > Subtest forked-access: FAIL > Subtest forbidden-operations: SUCCESS > Testing unsynchronized mappings... > Subtest create-destroy-unsync: SUCCESS > Subtest unsync-overlap: SUCCESS > Subtest unsync-unmap: SUCCESS > Subtest unsync-unmap-cycles: SUCCESS > Subtest unsync-unmap-after-close: SUCCESS > Using 2x1365 1MiB buffers > Verifying initialisation... > Cyclic blits cpu->gpu, forward... > Cyclic blits gpu->cpu, backward... > Random blits... > Subtest coherency-unsync: SUCCESS > Bus error Please attach the usual dmesg and run with IGT_LOG_LEVEL=debug to explain how it thinks you only have less than 2GiB of ram. Created attachment 102758 [details] dmesg (In reply to comment #6) > (In reply to comment #5) > > (In reply to comment #4) > > > > > > *** This bug has been marked as a duplicate of bug 80208 *** > > > > Bug 80208 had fixed, but this bug still able to reproduce on latest > > -nightly(271bff129a641b5b35d99c9eb0ceb866ca42f692),so reopen it. > > > > Output: > > root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# > > ./gem_userptr_blits > > IGT-Version: 1.7-ge74dd22 (x86_64) (Linux: > > 3.16.0-rc4_drm-intel-nightly_271bff_20140714+ x86_64) > > Aperture size is 2048 MiB > > Total RAM is 1894 MiB > > Subtest input-checking: SUCCESS > > Subtest usage-restrictions: SUCCESS > > Subtest invalid-mapping: SUCCESS > > Test assertion failure function test_forked_access, file > > gem_userptr_blits.c:583: > > Failed assertion: memcmp(ptr1, ptr2, PAGE_SIZE) == 0 > > Subtest forked-access: FAIL > > Subtest forbidden-operations: SUCCESS > > Testing unsynchronized mappings... > > Subtest create-destroy-unsync: SUCCESS > > Subtest unsync-overlap: SUCCESS > > Subtest unsync-unmap: SUCCESS > > Subtest unsync-unmap-cycles: SUCCESS > > Subtest unsync-unmap-after-close: SUCCESS > > Using 2x1365 1MiB buffers > > Verifying initialisation... > > Cyclic blits cpu->gpu, forward... > > Cyclic blits gpu->cpu, backward... > > Random blits... > > Subtest coherency-unsync: SUCCESS > > Bus error > > Please attach the usual dmesg and run with IGT_LOG_LEVEL=debug to explain > how it thinks you only have less than 2GiB of ram. I don't know how to use parameter "IGT_LOG_LEVEL=debug", and the device I used was 2GiB ram. but this bug is able to reproduce on other device too. Please check the output below and the dmesg in attachment. root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_userptr_blits IGT-Version: 1.7-ge74dd22 (x86_64) (Linux: 3.16.0-rc4_drm-intel-nightly_271bff_20140714+ x86_64) Aperture size is 2048 MiB Total RAM is 3837 MiB Subtest input-checking: SUCCESS Subtest usage-restrictions: SUCCESS Subtest invalid-mapping: SUCCESS Test assertion failure function test_forked_access, file gem_userptr_blits.c:583: Failed assertion: memcmp(ptr1, ptr2, PAGE_SIZE) == 0 Subtest forked-access: FAIL Subtest forbidden-operations: SUCCESS Testing unsynchronized mappings... Subtest create-destroy-unsync: SUCCESS Subtest unsync-overlap: SUCCESS Subtest unsync-unmap: SUCCESS Subtest unsync-unmap-cycles: SUCCESS Subtest unsync-unmap-after-close: SUCCESS Using 2x1365 1MiB buffers Verifying initialisation... Cyclic blits cpu->gpu, forward... Cyclic blits gpu->cpu, backward... Random blits... Subtest coherency-unsync: SUCCESS Bus error (core dumped) root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# free -m total used free shared buffers cached Mem: 3837 159 3677 1 15 68 -/+ buffers/cache: 75 3761 Swap: 3905 0 3905 (In reply to comment #7) > > Please attach the usual dmesg and run with IGT_LOG_LEVEL=debug to explain > > how it thinks you only have less than 2GiB of ram. > > I don't know how to use parameter "IGT_LOG_LEVEL=debug", and the device I > used was 2GiB ram. but this bug is able to reproduce on other device too. > Please check the output below and the dmesg in attachment. It's an environment variable, so use as: $ IGT_LOG_LEVEL=debug ./gem_userptr_blits The missing memory check should be performed by: commit 52ac9a4b57f20f2dc019a973237f2f97ddb0ebf3 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Jul 14 10:30:36 2014 +0100 igt/gem_userptr_blits: Add missing RAM check before coherency tests References: https://bugs.freedesktop.org/show_bug.cgi?id=79237 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> That should be enough to stop it from running out of memory. Created attachment 103165 [details] dmesg (In reply to comment #8) > (In reply to comment #7) > > > Please attach the usual dmesg and run with IGT_LOG_LEVEL=debug to explain > > > how it thinks you only have less than 2GiB of ram. > > > > I don't know how to use parameter "IGT_LOG_LEVEL=debug", and the device I > > used was 2GiB ram. but this bug is able to reproduce on other device too. > > Please check the output below and the dmesg in attachment. > > It's an environment variable, so use as: > > $ IGT_LOG_LEVEL=debug ./gem_userptr_blits > > The missing memory check should be performed by: > > commit 52ac9a4b57f20f2dc019a973237f2f97ddb0ebf3 > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Mon Jul 14 10:30:36 2014 +0100 > > igt/gem_userptr_blits: Add missing RAM check before coherency tests > > References: https://bugs.freedesktop.org/show_bug.cgi?id=79237 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > That should be enough to stop it from running out of memory. Tested with igt 4d4f4b213ca95dad59bdf8080d7bb034aa2d307a, the result shows below: [root@x-bdw01 tests]# IGT_LOG_LEVEL=debug ./gem_userptr_blits IGT-Version: 1.7-g4d4f4b2 (x86_64) (Linux: 3.16.0-rc5_drm-intel-nightly_873440_20140721+ x86_64) Aperture size is 4096 MiB Total RAM is 3882 MiB Subtest input-checking: SUCCESS Subtest usage-restrictions: SUCCESS Subtest invalid-mapping: SUCCESS Test assertion failure function copy, file gem_userptr_blits.c:221: Failed assertion: ret == error Last errno: 5, Input/output error child 0 failed with exit status 99 Subtest forked-access: FAIL Subtest forbidden-operations: SUCCESS Testing unsynchronized mappings... Subtest create-destroy-unsync: SUCCESS Subtest unsync-overlap: SUCCESS Test assertion failure function copy, file gem_userptr_blits.c:221: Failed assertion: ret == error Last errno: 5, Input/output error Subtest unsync-unmap: FAIL Test assertion failure function copy, file gem_userptr_blits.c:221: Failed assertion: ret == error Last errno: 5, Input/output error Subtest unsync-unmap-cycles: FAIL Test assertion failure function copy, file gem_userptr_blits.c:221: Failed assertion: ret == error Last errno: 5, Input/output error Subtest unsync-unmap-after-close: FAIL Checking 2730 surfaces of size 1048576 bytes (total 2864013312) against RAM Using 2x2730 1MiB buffers Verifying initialisation... Cyclic blits cpu->gpu, forward... Test assertion failure function copy, file gem_userptr_blits.c:221: Failed assertion: ret == error Last errno: 5, Input/output error Subtest coherency-unsync: FAIL Segmentation fault (core dumped) (In reply to comment #9) > Tested with igt 4d4f4b213ca95dad59bdf8080d7bb034aa2d307a, the result shows > below: Please always say which platform, it appears bdw (but is bdw gt3 or bdw gt1 etc?). > Test assertion failure function copy, file gem_userptr_blits.c:221: > Failed assertion: ret == error > Last errno: 5, Input/output error > Subtest coherency-unsync: FAIL EIO -- you should attach the error state. However, please file a new bug for bdw userptr issues since bdw is not particularly stable and a bad choice for confirming whether a general igt issue in itself is fixed. Test still failed on latest -nightly(af1aaba219fdd90ca1b30f9b8d8d19352224f170) on BYT root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_userptr_blits IGT-Version: 1.7-g70e6ed9 (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_af1aab_20140724+ x86_64) Aperture size is 2048 MiB Total RAM is 3837 MiB Subtest input-checking: SUCCESS Subtest usage-restrictions: SUCCESS Subtest invalid-null-pointer: SUCCESS Subtest invalid-gtt-mapping: SUCCESS Test assertion failure function test_forked_access, file gem_userptr_blits.c:620: Failed assertion: memcmp(ptr1, ptr2, PAGE_SIZE) == 0 Subtest forked-access: FAIL Subtest forbidden-operations: SUCCESS Testing unsynchronized mappings... Subtest create-destroy-unsync: SUCCESS Subtest unsync-overlap: SUCCESS Subtest unsync-unmap: SUCCESS Subtest unsync-unmap-cycles: SUCCESS Subtest unsync-unmap-after-close: SUCCESS Using 2x1365 1MiB buffers Verifying initialisation... Cyclic blits cpu->gpu, forward... Cyclic blits gpu->cpu, backward... Random blits... Subtest coherency-unsync: SUCCESS Bus error (core dumped) I've lost track of this bug. I am going to say that as of commit 38f7786268101c29a61fd3c37776360af6012bdc Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Jul 18 09:39:44 2014 +0100 drm/i915: Prevent recursive deadlock on releasing a busy userptr it should be working on all platforms. Can you please open bugs for specific failures, if any remain? (In reply to comment #12) > I've lost track of this bug. I am going to say that as of > > commit 38f7786268101c29a61fd3c37776360af6012bdc > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Fri Jul 18 09:39:44 2014 +0100 > > drm/i915: Prevent recursive deadlock on releasing a busy userptr > > it should be working on all platforms. Can you please open bugs for specific > failures, if any remain? Verified this because most of gem_userptr_blits cases are passed. I will report new bugs for specific failures if I met. Closing as a 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.