Bug 90065 - [BSW Regression]igt/gem_userptr_blits/minor-normal-sync fails
Summary: [BSW Regression]igt/gem_userptr_blits/minor-normal-sync fails
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high normal
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords: bisect_pending
Depends on:
Blocks:
 
Reported: 2015-04-17 05:59 UTC by lu hua
Modified: 2017-07-27 03:24 UTC (History)
3 users (show)

See Also:
i915 platform: BSW/CHT
i915 features: GEM/Other


Attachments
dmesg (124.97 KB, text/plain)
2015-04-17 05:59 UTC, lu hua
no flags Details

Description lu hua 2015-04-17 05:59:19 UTC
Created attachment 115148 [details]
dmesg

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

good commit: 2d1070b21e004609a5bebafdb4303bb021f5477c
bad commit: 097f8261ddda4b1896dd335dec95dedeecfeaa1b

Non-working platforms: BSW

==kernel==
--------------------------
drm-intel-nightly/d600654ab94b325f253e267422dcf60302120ea0
commit d600654ab94b325f253e267422dcf60302120ea0
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Apr 16 17:54:10 2015 +0200

    drm-intel-nightly: 2015y-04m-16d-15h-53m-28s UTC integration manifest

==Bug detailed description==
-----------------------------
It fails on BSW with drm-intel-nightly and drm-intel-next-queued kernel.
Following cases also fails:
igt@gem_userptr_blits@minor-sync-interruptible
igt@gem_userptr_blits@minor-unsync-interruptible
igt@gem_userptr_blits@minor-unsync-normal

output:
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test requirement passed: !(ret == ENODEV && (userptr_flags & LOCAL_I915_USERPTR_UNSYNCHRONIZED) == 0 && !read_only)
Test assertion failure function minor_evictions, file eviction_common.c:95:
Failed assertion: ret == ENOSPC
****  END  ****
Subtest minor-normal-sync: FAIL (5.622s)

==Reproduce steps==
---------------------------- 
1. ./gem_userptr_blits --run-subtest minor-normal-sync
Comment 1 Humberto Israel Perez Rodriguez 2015-09-23 18:04:27 UTC
still happen on SKL-Y with the latest kernel :

Kernel commit log:
commit b4c4542ba1abfb0d3d6913504502573bf2c62b12
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Aug 28 15:51:30 2015 +0200
drm-intel-nightly: 2015y-08m-28d-13h-50m-34s UTC integration manifest
Comment 2 cprigent 2015-10-01 15:41:08 UTC
Bug scrub:
Assigned to Chris
Comment 3 cprigent 2015-10-06 08:19:40 UTC
Reproduced on BSW:

Platform: Braswell M
CPU : Intel(R) CPU  @ 1.52 GHz (family: 6, model: 76 stepping: 3)
SoC : BSW C0
CRB : BRASWELL RVP Fab2
Mandatory Reworks : All
Feature Reworks: F28, F32,F33 & F37
Optional reworks : O-01a
Software
BIOS : SKLSE2R1.R00.X093.B02.1507222151
ME FW : 11.0.0.1157
Ksc (EC FW): 1.15
Linux distribution: Ubuntu 14.04 LTS 64 bits
Kernel: drm-intel-nightly 78a01ed08ac09d84cb47db59dd10fe9de1ee6c4a 4.3.0-rc2 from git://anongit.freedesktop.org/drm-intel
cairo: (HEAD, origin/master, origin/HEAD, master) f6c46d9473e40d4a3363c96e1fc7fffc81ed12e7 from git://git.freedesktop.org/git/cairo
drm: (HEAD, origin/master, origin/HEAD, master) c3301d013444b7b5d02c58307e188e292d8cf18a from git://git.freedesktop.org/git/mesa/drm
intel-driver: (HEAD, origin/master, origin/HEAD, master) 29f4234504fd99299997a3fc2f01393fb77030b7 from git://git.freedesktop.org/git/vaapi/intel-driver
libva: (HEAD, origin/master, origin/HEAD, master) fdd6ee00c916f530e4d0aa1b250633643999dcf1 from git://git.freedesktop.org/git/vaapi/libva
mesa: (HEAD, origin/master, origin/HEAD) 30e84530a097278c7cf01c0491dba5866510c4c5 from git://git.freedesktop.org/git/mesa/mesa
xf86-video-intel: (HEAD, origin/master, origin/HEAD, master) 300319e2044cb1050e9cbc49c9985b995eaca5fe from git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
xserver: (HEAD, origin/master, origin/HEAD, master) bcb60a49c5e74aa11d0256874659afddea91e53d from git://git.freedesktop.org/git/xorg/xserver
intel-gpu-tools: (HEAD, origin/master, origin/HEAD, master) 88cbb41ade5a66f96b7cd3844ce86f43d192afa0 from git://git.freedesktop.org/git/xorg/app/intel-gpu-tools 

Kernel:
commit 78a01ed08ac09d84cb47db59dd10fe9de1ee6c4a
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Mon Aug 31 18:43:56 2015 +0300
drm-intel-nightly: 2015y-08m-31d-15h-42m-59s UTC integration manifes
Comment 4 cprigent 2015-10-14 10:39:32 UTC
Reproduced on BSW with last setup:
Hardware:
Platform: Braswell M
CPU : Intel(R) Celeron N3060 1.60GHz @ 1.6 GHz (family: 6, model: 76 stepping: 4)
SoC : BSW D0
QDF : K6XC
CRB : BRASWELL RVP Fab2
Mandatory Reworks : All 
Feature Reworks: F28, F32, F33, F35, F37
Optional reworks : O-01a; O-02, O-03
Software :
Linux distribution: Ubuntu 14.04 LTS 64 bits 
BIOS : BRAS.X64.B084.R00.1508310642
TXE FW : 2.0.0.2073
Ksc : 1.08
kernel 4.3.0-rc3-drm-intel-nightly+ (eb69e51) from git://anongit.freedesktop.org/drm-intel
Mesa - 11.0.2 from http://cgit.freedesktop.org/mesa/mesa/
xf86-video-intel - 2.99.917 from http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/
Libdrm - 2.4.64 from http://cgit.freedesktop.org/mesa/drm/
Libva - 1.6.1 from http://cgit.freedesktop.org/libva/
vaapi intel-driver - 1.6.1 from http://cgit.freedesktop.org/vaapi/intel-driver
Cairo - 1.14.2 from http://cgit.freedesktop.org/cairo
Xorg Xserver - 1.17.2 from http://cgit.freedesktop.org/xorg/xserver
Comment 5 Chris Wilson 2015-10-19 10:34:27 UTC
commit fa8848f27895bd19e16aed77868f464be24034e6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Oct 14 14:17:11 2015 +0100

    drm/i915: Report context GTT size
    
    Since the beginning we have conflated the size of the global GTT with
    that of the per-process context sizes. In recent times (gen8+), those
    are no longer the same where the global GTT is limited to 2/4GiB but the
    per-process GTT may be anything up to 256TiB. Userspace knows nothing of
    this discrepancy and outside of one or two hacks, uses the getaperture
    ioctl to determine the maximum size it can use. Let's leave that as
    reporting the global GTT and use the context reporting method to
    describe the per-process value (which naturally fallsback to reporting
    the aliasing or global on older platforms, so userspace can always use
    this method where available).
    
    Testcase: igt/gem_userptr_blits/minor-normal-sync
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90065
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

+

commit a22719358d8fc7d4261829847e1ace042575a723
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Oct 14 14:17:55 2015 +0100

    lib: Fix querying context GTT size
    
    We need a new ioctl to find the correct GTT size to use when submitting
    execbuffers (as opposed to wishing to know the global GTT size).
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 6 cprigent 2015-10-20 06:55:03 UTC
Still reproduced.

Platform: Braswell M
CPU : Intel(R) Celeron N3060 1.60GHz @ 1.6 GHz (family: 6, model: 76 stepping: 4)
SoC : BSW D0
QDF : K6XC
CRB : BRASWELL RVP Fab2
Mandatory Reworks : All 
Feature Reworks: F28, F32, F33, F35, F37
Optional reworks : O-01a; O-02, O-03

BIOS : BRAS.X64.B084.R00.1508310642
TXE FW : 2.0.0.2073
Ksc : 1.08
Linux distribution: Ubuntu 14.04 LTS 64 bits
kernel 4.3.0-rc5-drm-intel-nightly+ 819f710081d7ea116b9b44a9264061d2c030f009 from git://anongit.freedesktop.org/drm-intel
Mesa - 11.0.3 from http://cgit.freedesktop.org/mesa/mesa/
xf86-video-intel - 2.99.917 from http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/
Libdrm - 2.4.65 from http://cgit.freedesktop.org/mesa/drm/
Libva - 1.6.1 from http://cgit.freedesktop.org/libva/
vaapi intel-driver - 1.6.1 from http://cgit.freedesktop.org/vaapi/intel-driver
Cairo - 1.14.2 from http://cgit.freedesktop.org/cairo
Xorg Xserver - 1.17.2 from http://cgit.freedesktop.org/xorg/xserver

Kernel commit 819f710081d7ea116b9b44a9264061d2c030f009
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Oct 14 19:05:17 2015 +0200
drm-intel-nightly: 2015y-10m-14d-17h-04m-36s UTC integration manifest
Comment 7 Chris Wilson 2015-10-20 08:56:03 UTC
(In reply to cprigent from comment #6)
> Still reproduced.
> 

What did you actually reproduce?
Comment 8 cprigent 2015-11-13 16:59:47 UTC
Result is now Skip, it looks like due to the memory size. Is it the expected result?

./gem_userptr_blits --run-subtest minor-normal-sync
IGT-Version: 1.12-gc8beadb (x86_64) (Linux: 4.3.0-nightly+ x86_64)
Aperture size is 4096 MiB
Total RAM is 3868 MiB
Testing unsynchronized mappings...
Testing synchronized mappings...
Test requirement not met in function intel_require_memory, file intel_os.c:244:
Test requirement: !(total <= required)
Estimated that we need 4,298,117,120 bytes for the test, but only have 3,915,382,784 bytes available (RAM)
Subtest minor-normal-sync: SKIP (0.052s)

Platform: Braswell M
CPU : Intel(R) Celeron N3060 1.60GHz @ 1.6 GHz (family: 6, model: 76 stepping: 4)
SoC : BSW D0
QDF : K6XC
CRB : BRASWELL RVP Fab2
Mandatory Reworks : All 
Feature Reworks: F28, F32, F33, F35, F37
Optional reworks : O-01a; O-02, O-03
Software
BIOS : SKLSE2R1.R00.X097.B02.1509020030
ME FW : 11.0.0.1173
Ksc (EC FW): 1.19
Linux distribution: Ubuntu 14.04 LTS 64 bits
kernel 4.3.0-drm-intel-nightly (a3b0dec) from git://anongit.freedesktop.org/drm-intel
    commit a3b0dec82fdb59c629c4fb9847245b80b0cf69dd
    Author: Jani Nikula <jani.nikula@intel.com>
    Date:   Fri Nov 6 14:48:23 2015 +0200
    drm-intel-nightly: 2015y-11m-06d-12h-48m-02s UTC integration manifest
Mesa 11.0.4 from http://cgit.freedesktop.org/mesa/mesa/
xf86-video-intel - 2.99.917 from http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/
Libdrm - 2.4.65 from http://cgit.freedesktop.org/mesa/drm/
Libva - 1.6.1 from http://cgit.freedesktop.org/libva/
vaapi intel-driver - 1.6.1 from http://cgit.freedesktop.org/vaapi/intel-driver
Cairo - 1.14.2 from http://cgit.freedesktop.org/cairo
Xorg Xserver - 1.17.2 from http://cgit.freedesktop.org/xorg/xserver
Comment 9 Chris Wilson 2015-11-13 17:26:30 UTC
Yes, the test relies on being able to allocate enough memory to cause eviction from the ppgtt (since the intention is to check behaviour of the userptr backing storage across evictions). Since your ppgtt is larger than RAM, we can't fill it successfully (at least with today's interface).
Comment 10 Jari Tahvanainen 2017-07-03 12:54:58 UTC
Closing >1 year old resolved+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.