Created attachment 181768 [details] fix build lang/beignet with llvm 4.0 Add fix for compiling with LLVM 4.0 from upstream.
Does runtime actually work with the patch, not just builds? Can you try the patch in review D11377 instead?
(In reply to Jan Beich from comment #1) It runs with UFS, but not ZFS. On ZFS it will get mlock() EAGIN error. I will try review D11377.
(In reply to Eric Camachat from comment #2) Pasted into wrong bug, please ignore it, sorry.
(In reply to Jan Beich from comment #1) No it will stick: % clinfo unable to load /usr/local/lib/beignet//libgbeinterp.so which is part of the driver, please check! Number of platforms 1 Platform Name Intel Gen OCL Driver Platform Vendor Intel Platform Version OpenCL 2.0 beignet 1.3 Platform Profile FULL_PROFILE Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short cl_khr_gl_sharing Platform Extensions function suffix Intel ^C I am testing review D11377.
(In reply to Eric Camachat from comment #2) D11377 has the same hang: % clinfo Number of platforms 1 Platform Name Intel Gen OCL Driver Platform Vendor Intel Platform Version OpenCL 2.0 beignet 1.4 Platform Profile FULL_PROFILE Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short cl_intel_media_block_io cl_intel_planar_yuv cl_khr_gl_sharing Platform Extensions function suffix Intel ^C $ truss clinfo ... mmap(0x0,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34508562432 (0x808dee000) fstatat(AT_FDCWD,"/usr/local/lib/beignet/include",{ mode=drwxr-xr-x ,inode=213101,size=31,blksize=4096 },0x0) = 0 (0x0) fstatat(AT_FDCWD,"/usr/local/lib/beignet/include/ocl_types.h",{ mode=-rw-r--r-- ,inode=205780,size=4523,blksize=4608 },0x0) = 0 (0x0) fstatat(AT_FDCWD,"/usr/local/lib/beignet/include/ocl_defines.h",{ mode=-rw-r--r-- ,inode=205763,size=6593,blksize=6656 },0x0) = 0 (0x0) openat(AT_FDCWD,"/usr/local/lib/beignet/include/ocl_types.h",O_RDONLY,00) = 5 (0x5) fstatat(AT_FDCWD,"/usr",{ mode=drwxr-xr-x ,inode=9,size=17,blksize=4096 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) fstatat(AT_FDCWD,"/usr/local",{ mode=drwxr-xr-x ,inode=159,size=18,blksize=4096 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) fstatat(AT_FDCWD,"/usr/local/lib",{ mode=drwxr-xr-x ,inode=16470,size=578,blksize=16384 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) fstatat(AT_FDCWD,"/usr/local/lib/beignet",{ mode=drwxr-xr-x ,inode=213095,size=10,blksize=4096 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) fstatat(AT_FDCWD,"/usr/local/lib/beignet/include",{ mode=drwxr-xr-x ,inode=213101,size=31,blksize=4096 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) fstatat(AT_FDCWD,"/usr/local/lib/beignet/include/ocl_types.h",{ mode=-rw-r--r-- ,inode=205780,size=4523,blksize=4608 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) pread(5,"/*\n * Copyright \M-B\M-) 2012 -"...,4523,0x0) = 4523 (0x11ab) sigprocmask(SIG_SETMASK,{ SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0) close(5) = 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) = 0 (0x0)
(In reply to Eric Camachat from comment #4) Can you reproduce with llvm39? On what FreeBSD version? Can you press Ctrl+T to check wait message[1] ? I have a similar issue on 12.0 amd64 (with drm-next merged) where the process is stuck on [umtxn]. Prepending LD_PRELOAD=/lib/libthr.so.3 makes it work fine. The first bad appears to be base r319971, bisecting which is complicated by FREEBSD-diffs. [1] https://wiki.freebsd.org/WaitChannels
Moved to bug 220767. Let's keep this bug about LLVM 4.0.
(In reply to Jan Beich from comment #6) Ctrl-T outputs: load: 2.17 cmd: clinfo 492603 [umtxn] 3.79r 0.01u 0.03s 0% 16348k load: 2.08 cmd: clinfo 492603 [umtxn] 6.68r 0.01u 0.03s 0% 16348k load: 2.08 cmd: clinfo 492603 [umtxn] 7.31r 0.01u 0.03s 0% 16348k load: 2.08 cmd: clinfo 492603 [umtxn] 7.94r 0.01u 0.03s 0% 16348k load: 2.08 cmd: clinfo 492603 [umtxn] 8.46r 0.01u 0.03s 0% 16348k load: 2.08 cmd: clinfo 492603 [umtxn] 9.14r 0.01u 0.03s 0% 16348k load: 2.08 cmd: clinfo 492603 [umtxn] 9.58r 0.01u 0.03s 0% 16348k # env LD_PRELOAD=/lib/libthr.so.3 clinfo Number of platforms 1 Platform Name Intel Gen OCL Driver Platform Vendor Intel Platform Version OpenCL 2.0 beignet 1.4 Platform Profile FULL_PROFILE Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extende$_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_int$l_subgroups_short cl_intel_media_block_io cl_intel_planar_yuv cl_khr_gl_sharing Platform Extensions function suffix Intel Beignet: self-test failed: (3, 7, 5) + (5, 7, 3) returned (3, 7, 5) See README.md or http://www.freedesktop.org/wiki/Software/Beignet/ Beignet: disabling non-working device Platform Name Intel Gen OCL Driver Number of devices 0 NULL platform behavior clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Intel Gen OCL Driver Beignet: disabling non-working device clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Intel Gen OCL Driver clCreateContext(NULL, ...) [default] No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform Beignet: disabling non-working device clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform Beignet: disabling non-working device clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No devices found in platform ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.2.11 ICD loader Profile OpenCL 2.1 Nothing to output !
A commit references this bug: Author: jbeich Date: Fri Oct 6 22:05:14 UTC 2017 New revision: 451413 URL: https://svnweb.freebsd.org/changeset/ports/451413 Log: lang/beignet: update to 1.3.1.52 (Release_v1.3 branch snapshot) Changes: https://github.com/intel/beignet/compare/be0ae74...afd050f6 PR: 217635 218644 Approved by: maintainer timeout (2 months) MFH: 2017Q2 (requires r437953), 2017Q3 (regression fix for r435144) Differential Revision: https://reviews.freebsd.org/D11377 Changes: head/lang/beignet/Makefile head/lang/beignet/distinfo head/lang/beignet/files/patch-src_cl__program.c head/lang/beignet/files/patch-utests_CMakeLists.txt
A commit references this bug: Author: jbeich Date: Fri Oct 6 22:05:35 UTC 2017 New revision: 451414 URL: https://svnweb.freebsd.org/changeset/ports/451414 Log: lang/beignet: switch to LLVM 4.0 by default (like Mesa) PR: 218644 Approved by: maintainer timeout (2 months) MFH: 2017Q4 2017Q3 (consistency, minor optimizations) Differential Revision: https://reviews.freebsd.org/D11377 Changes: head/lang/beignet/Makefile
A commit references this bug: Author: jbeich Date: Mon Nov 27 13:44:27 UTC 2017 New revision: 454953 URL: https://svnweb.freebsd.org/changeset/ports/454953 Log: MFH: r451413 r453205 lang/beignet: update to 1.3.2 Changes: https://01.org/beignet/downloads/beignet-1.3.2-2017-10-26 PR: 217635 218644 Approved by: maintainer timeout (2 months) Approved by: ports-secteam (swills) Differential Revision: https://reviews.freebsd.org/D11377 Changes: _U branches/2017Q4/ branches/2017Q4/lang/beignet/Makefile branches/2017Q4/lang/beignet/distinfo branches/2017Q4/lang/beignet/files/patch-src_cl__program.c branches/2017Q4/lang/beignet/files/patch-utests_CMakeLists.txt