Created attachment 122300 [details] bsw-dmesg-gem_pwrite-huge-gtt Hardware: Motherboard: Aspire XC-704 cpu model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz cpu model : 76 cpu family : 6 Graphic card: Device 22b1 (rev 21) Software: Bios: R01-A2 Kernel mainline 4.4.0 from https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git commit afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sun Jan 10 15:01:32 2016 -0800 Linux 4.4 drm: libdrm-2.4.67-5 ea07de9 from git://anongit.freedesktop.org/mesa/drm mesa: tag mesa-11.1.2 7bcd827 from git://anongit.freedesktop.org/mesa/mesa cairo: tag 1.15.2 db8a7f1 from git://anongit.freedesktop.org/cairo waffle: master bb29b2a from git://github.com/waffle-gl/waffle xorg-server-macros: tag: util-macros-1.19.0-2 d7acec2 from git://git.freedesktop.org/git/xorg/util/macros xserver: tag: xorg-server-1.18.1 23e60f9 from git://git.freedesktop.org/git/xorg/xserver xf86-video-intel: tag 2.99.917-560 d167280 from git://anongit.freedesktop.org/xorg/driver/xf86-video-intel libva: tag libva-1.7.0.pre1 35f1447 from git://git.freedesktop.org/git/vaapi/libva vaapi-intel-driver: tag 1.7.0.pre1 ab8e4e3 from git://anongit.freedesktop.org/vaapi/intel-driver IGT 1.14 364d378 from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git One external screen connected to HDMI Steps: ------- 1. Execute IGT test: # ./gem_pwrite --run-subtest huge-gtt Actual result: --------------- 1. Test is Fail, output: IGT-Version: 1.14-NOT-GIT (x86_64) (Linux: 4.4.0-nightly x86_64) (gem_pwrite:2020) ioctl-wrappers-CRITICAL: Test assertion failure function gem_write, file ioctl_wrappers.c:321: (gem_pwrite:2020) ioctl-wrappers-CRITICAL: Failed assertion: drmIoctl((fd), ((((1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0x40 + 0x1d)) << 0) | ((((sizeof(struct drm_i915_gem_pwrite)))) << ((0+8)+8)))), (&gem_pwrite)) == 0 (gem_pwrite:2020) ioctl-wrappers-CRITICAL: Last errno: 7, Argument list too long (gem_pwrite:2020) ioctl-wrappers-CRITICAL: error: -1 != 0 Stack trace: #0 [__igt_fail_assert+0xf1] #1 [gem_read+0x0] #2 [test_big_gtt+0xff] #3 [main+0x73f] #4 [__libc_start_main+0xf5] #5 [_start+0x29] #6 [<unknown>+0x29] Subtest huge-gtt failed. **** DEBUG **** (gem_pwrite:2020) intel-os-DEBUG: Checking 1 surfaces of size 3,221,225,472 bytes (total 3,221,229,568) against RAM (gem_pwrite:2020) intel-os-DEBUG: Test requirement passed: !(!__intel_check_memory(count, size, mode, &required, &total)) (gem_pwrite:2020) igt-core-DEBUG: Test requirement passed: !igt_run_in_simulation() (gem_pwrite:2020) DEBUG: Test requirement passed: gem_mmap__has_wc(fd) (gem_pwrite:2020) ioctl-wrappers-CRITICAL: Test assertion failure function gem_write, file ioctl_wrappers.c:321: (gem_pwrite:2020) ioctl-wrappers-CRITICAL: Failed assertion: drmIoctl((fd), ((((1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0x40 + 0x1d)) << 0) | ((((sizeof(struct drm_i915_gem_pwrite)))) << ((0+8)+8)))), (&gem_pwrite)) == 0 (gem_pwrite:2020) ioctl-wrappers-CRITICAL: Last errno: 7, Argument list too long (gem_pwrite:2020) ioctl-wrappers-CRITICAL: error: -1 != 0 **** END **** Subtest huge-gtt: FAIL (2.334s) Expected result: ----------------- 1. Test is Pass
This test also fail on BXT-P with the following configuration Hardware information ===================== Platform BXT-P Motherboard model Broxton P Motherboard type NOTEBOOK Hand Held Motherboard manufacturer Intel Corp. CPU family Other CPU information 06/5c GPU Card Intel Corporation Device 5a84 (rev 03) (prog-if 00 [VGA controller]) Software information ====================== Linux distribution : Ubuntu 15.10 Architecture : 64-bit --> Component : drm url : http://cgit.freedesktop.org/mesa/drm tag : libdrm-2.4.67-5-gea07de9 commit : ea07de9 author : Rodrigo Vivi <rodrigo.vivi@intel.com> age : 13 days ago --> Component : mesa url : http://cgit.freedesktop.org/mesa/mesa tag : mesa-11.1.2 commit : 7bcd827 author : Emil Velikov <emil.velikov@collabora.com> age : 5 weeks ago --> Component : xf86-video-intel url : http://cgit.freedesktop.org/xorg/driver/xf86-video-intel tag : 2.99.917-560-gd167280 commit : d167280 author : Chris Wilson <chris@chris-wilson.co.uk> age : 3 weeks ago --> Component : libva url : http://cgit.freedesktop.org/libva/ tag : libva-1.7.0.pre1 commit : 35f1447 author : Xiang Haihao <haihao.xiang@intel.com> age : 11 days ago --> Component : vaapi (intel-driver) url : http://cgit.freedesktop.org/vaapi/intel-driver tag : 1.7.0.pre1 commit : ab8e4e3 author : Xiang Haihao <haihao.xiang@intel.com> age : 11 days ago --> Component : cairo url : http://cgit.freedesktop.org/cairo tag : 1.15.2 commit : db8a7f1 author : Bryce Harrington <bryce@osg.samsung.com> age : 3 months ago --> Component : xserver url : http://cgit.freedesktop.org/xorg/xserver tag : xorg-server-1.18.1 commit : 23e60f9 author : Adam Jackson <ajax@redhat.com> age : 5 weeks ago --> Component : intel-gpu-tools url : http://cgit.freedesktop.org/xorg/app/intel-gpu-tools tag : intel-gpu-tools-1.14-23-g364d378 commit : 364d378 author : Paulo Zanoni <paulo.r.zanoni@intel.com> age : 10 days ago kernel ========= drm-intel-testing / commit a27657a commit a27657a39741599ce9feef1ef39ae6654e9e6768 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Mon Feb 29 09:42:22 2016 +0100 drm-intel-nightly: 2016y-02m-29d-08h-41m-12s UTC integration manifest Kernel version : 4.5.0-rc5 Architecture : source amd64 all
The following test also fail with the above configuration gem_pwrite@big-gtt
Created attachment 122542 [details] BSW-gem_pwrite-big-gtt_kern.log big-gtt also fails on BSW. ./gem_pwrite --run-subtest big-gtt IGT-Version: 1.14-NOT-GIT (x86_64) (Linux: 4.5.0-nightly+ x86_64) (gem_pwrite:2228) ioctl-wrappers-CRITICAL: Test assertion failure function gem_write, file ioctl_wrappers.c:331: (gem_pwrite:2228) ioctl-wrappers-CRITICAL: Failed assertion: igt_ioctl((fd), ((((1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0x40 + 0x1d)) << 0) | ((((sizeof(struct drm_i915_gem_pwrite)))) << ((0+8)+8)))), (&gem_pwrite)) == 0 (gem_pwrite:2228) ioctl-wrappers-CRITICAL: Last errno: 7, Argument list too long (gem_pwrite:2228) ioctl-wrappers-CRITICAL: error: -1 != 0 Stack trace: #0 [__igt_fail_assert+0xf1] #1 [gem_write+0x84] #2 [test_big_gtt+0xff] #3 [main+0x6b7] #4 [__libc_start_main+0xf5] #5 [_start+0x29] #6 [<unknown>+0x29] Subtest big-gtt failed. **** DEBUG **** (gem_pwrite:2228) intel-os-DEBUG: Checking 1 surfaces of size 1,610,612,736 bytes (total 1,610,616,832) against RAM (gem_pwrite:2228) intel-os-DEBUG: Test requirement passed: __intel_check_memory(count, size, mode, &required, &total) (gem_pwrite:2228) igt-core-DEBUG: Test requirement passed: !igt_run_in_simulation() (gem_pwrite:2228) DEBUG: Test requirement passed: gem_mmap__has_wc(fd) (gem_pwrite:2228) ioctl-wrappers-CRITICAL: Test assertion failure function gem_write, file ioctl_wrappers.c:331: (gem_pwrite:2228) ioctl-wrappers-CRITICAL: Failed assertion: igt_ioctl((fd), ((((1U) << (((0+8)+8)+14)) | ((('d')) << (0+8)) | (((0x40 + 0x1d)) << 0) | ((((sizeof(struct drm_i915_gem_pwrite)))) << ((0+8)+8)))), (&gem_pwrite)) == 0 (gem_pwrite:2228) ioctl-wrappers-CRITICAL: Last errno: 7, Argument list too long (gem_pwrite:2228) ioctl-wrappers-CRITICAL: error: -1 != 0 **** END **** Subtest big-gtt: FAIL (1.123s) Hardware: Motherboard: Aspire XC-704 cpu model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz cpu model : 76 cpu family : 6 Graphic card: Device 22b1 (rev 21) Software: Bios: R01-A2 kernel nightly 4.5 10e913a from https://cgit.freedesktop.org/cgit/?url=drm-intel/ commit 10e913a48ca36790da9b58bed8729598ea79ebdb Author: Imre Deak <imre.deak@intel.com> Date: Thu Mar 17 15:23:17 2016 +0200 drm-intel-nightly: 2016y-03m-17d-13h-22m-41s UTC integration manifest cairo 1.15.2 db8a7f1 from git://anongit.freedesktop.org/cairo libdrm-2.4.67-7 49041c3 from git://anongit.freedesktop.org/mesa/drm IGT 1.14 8f6ed9e from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
Milestone criteria blocker so increasing priority
The following tests cases fail under the following configuration on BXT-P tests cases ================================================================ igt@gem_pwrite@small-gtt-fbr igt@gem_pwrite@small-gtt-random igt@gem_pwrite@small-gtt-backwards igt@gem_pwrite@small-gtt-forwards Hardware configuration ================================================================ Platform BXT - P (APL) Motherboard model Apollo Lake Motherboard type NOTEBOOK Hand Held Motherboard manufacturer Intel Corp. CPU family Other CPU information 06/5c GPU Card Intel Corporation Device 5a84 (rev 03) (prog-if 00 [VGA controller]) Memory ram 8 GB gfx user space ================================================================ --> Component : drm url : http://cgit.freedesktop.org/mesa/drm tag : libdrm-2.4.68 commit : fc09c5a author : Kenneth Graunke <kenneth@whitecape.org> age : 2 weeks ago --> Component : mesa url : http://cgit.freedesktop.org/mesa/mesa tag : mesa-11.1.2 commit : 7bcd827 author : Emil Velikov <emil.velikov@collabora.com> age : 3 months ago --> Component : xf86-video-intel url : http://cgit.freedesktop.org/xorg/driver/xf86-video-intel tag : 2.99.917-645-g88733a7 commit : 88733a7 author : Chris Wilson <chris@chris-wilson.co.uk> age : 7 days ago --> Component : libva url : http://cgit.freedesktop.org/libva/ tag : libva-1.7.0-2-g4cb6d78 commit : 4cb6d78 author : Alan Coopersmith <alan.coopersmith@oracle.com> age : 5 weeks ago --> Component : vaapi (intel-driver) url : http://cgit.freedesktop.org/vaapi/intel-driver tag : 1.7.0-12-g4643f94 commit : 4643f94 author : peng.chen <peng.c.chen@intel.com> age : 3 weeks ago --> Component : cairo url : http://cgit.freedesktop.org/cairo tag : 1.15.2 commit : db8a7f1 author : Bryce Harrington <bryce@osg.samsung.com> age : 5 months ago --> Component : xserver url : http://cgit.freedesktop.org/xorg/xserver tag : xorg-server-1.18.0-317-g7f04946 commit : 7f04946 author : Dave Airlie <airlied@redhat.com> age : 9 days ago --> Component : intel-gpu-tools url : http://cgit.freedesktop.org/xorg/app/intel-gpu-tools tag : intel-gpu-tools-1.14-212-g1e9a3ac commit : 1e9a3ac author : Chris Wilson <chris@chris-wilson.co.uk> age : 3 weeks ago kernel ==================================================================== commit 447f2438e5ee3e9bb7d5cbe88fc44cdff74cc165 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Sun May 8 18:21:27 2016 +0200 drm-intel-nightly: 2016y-05m-08d-16h-21m-00s UTC integration manifest Kernel version : 4.6.0-rc6 Architecture : source amd64 all Homepage : http://www.kernel.org/
The following tests cases fail with the following configuration : Tests cases =============================================== igt@gem_pwrite@small-gtt-fbr igt@gem_pwrite@small-gtt-backwards igt@gem_pwrite@small-gtt-random igt@gem_pwrite@small-gtt-forwards Gfx stack information =============================================== --> Component : drm tag : libdrm-2.4.68-4-g7aab852 commit : 7aab852 --> Component : mesa tag : mesa-11.1.2 commit : 7bcd827 --> Component : cairo tag : 1.15.2 commit : db8a7f1 --> Component : intel-gpu-tools tag : intel-gpu-tools-1.14-346-gcce2ff0 commit : cce2ff0 Software information =============================================== Kernel version : 4.6.0-rc7-drm-intel-nightly-ww20-commit-5528ede+ Linux distribution : Ubuntu 15.10 Architecture : 64-bit Bios revision : 138.22 KSC revision : 1.12 DMC revision : 1.07 GUC revision : 8.7 Hardware information =============================================== Platform : BXT-P Motherboard model : Broxton P Motherboard type : NOTEBOOK Hand Held Motherboard manufacturer : Intel Corp. CPU family : Other CPU information : 06/5c GPU Card : Intel Corporation Device 5a84 (rev 0a) (prog-if 00 [VGA controller]) kernel =============================================== commit 2ec823981d62c56d1511bda42b8295e31ece800f Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Sun May 22 18:23:13 2016 +0200 drm-intel-nightly: 2016y-05m-22d-16h-22m-45s UTC integration manifest
Humberto, Could you attach the logs for small-gtt-* cases ?
Attaching output logs and dmesg for small-gtt cases
Created attachment 124244 [details] output
Created attachment 124245 [details] Dmesg log
Based on execution log it sounds like the failure is due to that we don't have enough memory to allocate (errno -E2BIG) and "Last errno: 7, Argument list too long" But in the other hands, it appears that assertion of pre-requisite is passing: (gem_pwrite:1608) DEBUG: Test requirement passed: gem_mmap__has_wc(fd) (gem_pwrite:1608) intel-os-DEBUG: Checking 1 surfaces of size 268,439,552 bytes (total 268,443,648) against RAM (gem_pwrite:1608) intel-os-DEBUG: Test requirement passed: __intel_check_memory(count, size, mode, &required, &total) (gem_pwrite:1608) igt-core-DEBUG: Test requirement passed: !igt_run_in_simulation() (gem_pwrite:1608) DEBUG: Backwards Chris, can you confirm my interpretation?
No, E2BIG is just the kernel complaining that it failed to handle the request. The fix here is to use the per-page iterators for large objects. There should already be a bug to that effect.
thanks Chris, I appreciate your prompt support :) I do agree that the kernel failed to handle the allocation, but I thought that the pre-requisite should assert this condition also. BTW, I not sure about the related bug, do you have its #?
The following tests cases are fail with the following configuration : Tests cases =============================================== igt@gem_pwrite@small-gtt-forwards igt@gem_pwrite@small-gtt-random igt@gem_pwrite@small-gtt-backwards igt@gem_pwrite@small-gtt-fbr Gfx stack information =============================================== --> Component : drm tag : libdrm-2.4.68 commit : fc09c5a --> Component : cairo tag : 1.15.2 commit : db8a7f1 --> Component : intel-gpu-tools tag : intel-gpu-tools-1.14-348-g303b380 commit : 303b380 Software information =============================================== Kernel version : 4.6.0-drm-intel-nightly-ww23-commit-fb023a2+ Linux distribution : Ubuntu 16.04 Architecture : 64-bit Bios revision : 138.25 KSC revision : 1.12 DMC revision : 1.07 Hardware information =============================================== Platform : BXT-P Motherboard model : Broxton P Motherboard type : NOTEBOOK Hand Held Motherboard manufacturer : Intel Corp. CPU family : B1 CPU information : 06/5c GPU Card : Intel Corporation Device 5a84 (rev 0a) (prog-if 00 [VGA controller]) kernel =============================================== commit fb023a2062df06c9e097e1f8f2bcf252194b9413 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Mon May 30 10:46:14 2016 +0200 drm-intel-nightly: 2016y-05m-30d-08h-45m-53s UTC integration manifest
./gem_pwrite passes on our bxt. Please retest
Yup, this should now just be a timeout. commit b50a53715f09888a5dfd8592cecfa527db7a204f Author: Ankitprasad Sharma <ankitprasad.r.sharma@intel.com> Date: Fri Jun 10 14:23:03 2016 +0530 drm/i915: Support for pread/pwrite from/to non shmem backed objects failed to mention that it originated from code to fix these test cases.
For the timeout, it will be fixed if we ever get as far as https://cgit.freedesktop.org/~ickle/linux-2.6/commit/?h=tasklet&id=6615e8bced575e6c78d4bdfe59df037cf2cc8763 swapping the forward-linear sg cache with a radixtree for random access.
(In reply to Chris Wilson from comment #16) > Yup, this should now just be a timeout. and those timeouts should already be tracked in another bug.
The following tests keep failing on BXT-P with the following configuration tests cases ================================== igt@gem_pwrite@small-gtt-backwards igt@gem_pwrite@small-gtt-random igt@gem_pwrite@small-gtt-forwards igt@gem_pwrite@small-gtt-fbr Software information ============================================ Kernel version : 4.7.0-rc4-drm-intel-nightly-ww26-commit-5c244f4+ Linux distribution : Ubuntu 16.04 LTS Architecture : 64-bit Hardware information ============================================ Platform : BXT-P Motherboard model : Broxton P Motherboard type : NOTEBOOK Hand Held Motherboard manufacturer : Intel Corp. CPU family : B1 CPU information : 06/5c GPU Card : Intel Corporation Device 5a84 (rev 0a) (prog-if 00 [VGA controller]) Memory ram : 16 GB Firmwares information ============================================ DMC fw loaded : yes DMC version : 1.7 GUC fw loaded : SUCCESS GUC version wanted : 8.7 GUC version found : 8.7 --> Component : drm url : http://cgit.freedesktop.org/mesa/drm tag : libdrm-2.4.68-9-g625d181 commit : 625d181 --> Component : cairo url : http://cgit.freedesktop.org/cairo tag : 1.15.2 commit : db8a7f1 --> Component : intel-gpu-tools url : http://cgit.freedesktop.org/xorg/app/intel-gpu-tools tag : intel-gpu-tools-1.15-54-g88c1f7c commit : 88c1f7c Kernel information ============================================ commit 5c244f4b128c6274755007e080d46e0a61b71534 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Jun 24 16:17:56 2016 +0100 drm-intel-nightly: 2016y-06m-24d-15h-17m-32s UTC integration manifest
(In reply to Chris Wilson from comment #18) > (In reply to Chris Wilson from comment #16) > > Yup, this should now just be a timeout. > > and those timeouts should already be tracked in another bug. which is bug 93019
Based on the comments gem_pwrite is now passing. The timeout issues still remains which is tracked on bug #93019
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.