Bug 79245

Summary: [SNB regression] igt/gem_userptr_blits was killed sporadically
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Chris Wilson <chris>
Status: CLOSED DUPLICATE QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: highest CC: intel-gfx-bugs, yi.sun
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg none

Description Guo Jinxian 2014-05-26 06:34:27 UTC
==System Environment==
--------------------------
Regression: Yes. 
It's a igt regression issue, the result before was skipped

Non-working platforms: SNB

==kernel==
--------------------------
origin/drm-intel-nightly: c37f30ddc2921eccbf0be87c7742b56fbde53a81(fails)
    drm-intel-nightly: 2014y-05m-23d-13h-57m-55s integration manifest
origin/drm-intel-next-queued: f83d6518a13020e3cf7abbcc6b4e6d34459d9a9f(fails)
    ddrm/i915: Kill private_default_ctx off    
origin/drm-intel-fixes: c1240bd2842f6ec26d7dc1d9c845a197a41d33fe(skips)
    drm/i915: Prevent negative relocation deltas from wrapping

==Bug detailed description==
-----------------------------
igt/gem_userptr_blits was killed sporadically

The reproducible rate is about 1 out of 3.

Output:
./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
Test requirement not met in function forking_evictions, file eviction_common.c:181:
Last errno: 0, Success
Test requirement: (!(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb()))
Subtest forked-unsync-swapping-normal: SKIP
Test requirement not met in function forking_evictions, file eviction_common.c:181:
Last errno: 0, Success
Test requirement: (!(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb()))
Subtest forked-unsync-swapping-interruptible: SKIP
Subtest forked-unsync-multifd-normal: SUCCESS
Subtest forked-unsync-multifd-interruptible: SUCCESS
Test requirement not met in function forking_evictions, file eviction_common.c:181:
Last errno: 0, Success
Test requirement: (!(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb()))
Subtest forked-unsync-swapping-multifd-normal: SKIP
Test requirement not met in function forking_evictions, file eviction_common.c:181:
Last errno: 0, Success
Test requirement: (!(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb()))
Subtest forked-unsync-swapping-multifd-interruptible: SKIP
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
Killed


==Reproduce steps==
---------------------------- 
1.  ./gem_userptr_blits


==Bisect results==
----------------------------
commit 9911f3f0cf202444f1ef2399f5961605880b7360
Author:     Chris Wilson <chris@chris-wilson.co.uk>
AuthorDate: Thu May 22 10:20:33 2014 +0100
Commit:     Chris Wilson <chris@chris-wilson.co.uk>
CommitDate: Thu May 22 10:22:04 2014 +0100

    igt/gem_userptr_blits: Fix up last minute API changes

    When the patch was merged, the ioctl numbers had to be adjusted to leave
    no holes. Also there was a final piece of munging of the API to
    downgrade unsynced userptr for export over dma-buf.

    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 1 Guo Jinxian 2014-05-26 06:34:45 UTC
Created attachment 99831 [details]
dmesg
Comment 2 Daniel Vetter 2014-06-18 15:47:36 UTC
Upgrade to regression since shrinker handling degrades when userspace uses too many userptr objects.
Comment 3 Daniel Vetter 2014-06-18 15:47:54 UTC
*** Bug 79244 has been marked as a duplicate of this bug. ***
Comment 4 Chris Wilson 2014-07-11 10:00:38 UTC

*** This bug has been marked as a duplicate of bug 80208 ***
Comment 5 Jari Tahvanainen 2016-10-19 09:27:14 UTC
Closing resolved+duplicate due to duplicate of the closed+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.