[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#861706: marked as done (unblock: beignet/1.3.0-3)



Your message dated Wed, 03 May 2017 05:54:00 +0000
with message-id <4ee03a96-dddf-be3a-19e2-7094bc5c0ef0@thykier.net>
and subject line Re: Bug#861706: unblock: beignet/1.3.0-3
has caused the Debian Bug report #861706,
regarding unblock: beignet/1.3.0-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
861706: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=861706
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
User: release.debian.org@packages.debian.org
Usertags: unblock
Severity: normal

Please unblock package beignet (currently awaiting sponsorship)

* Fix "Exec...-5" error, which made beignet unusable on older (Ivy Bridge / Haswell) hardware. (Closes: #860805) * Use LLVM 3.8 on x32 to fix FTBFS. (This change only affects x32 because everything else we build on uses LLVM_VERSION_MESA.)

unblock beignet/1.3.0-3

diff --git a/debian/changelog b/debian/changelog
index e03f2f5..dde40ed 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+beignet (1.3.0-3) unstable; urgency=medium
+
+  * Fix "Exec...-5" error on older hardware.  (Closes: #860805)
+  * Use LLVM 3.8 on x32 to fix FTBFS.
+
+ -- Rebecca N. Palmer <rebecca_palmer@zoho.com> Tue, 02 May 2017 23:23:11 +0100
+
 beignet (1.3.0-2) unstable; urgency=medium

   * Statically link to LLVM to allow installation together with
diff --git a/debian/patches/series b/debian/patches/series
index ee4a597..13ea02b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,3 +11,4 @@ add-appstream-metadata.patch
 spelling.patch
 opencl2-runtime-detection.patch
 static-llvm.patch
+zerooffset.patch
diff --git a/debian/patches/zerooffset.patch b/debian/patches/zerooffset.patch
new file mode 100644
index 0000000..c63b47e
--- /dev/null
+++ b/debian/patches/zerooffset.patch
@@ -0,0 +1,61 @@
+Description: Check that we can reserve the zero-offset
+
+commit ff57cee0519d ("ocl20/runtime: take the first 64KB page table
+entries") tries to allocate a bo at 0 offset, but failed to take into
+account that something may already be allocated there that it is not
+allowed to evict (particularly when not using full-ppgtt separation).
+Failure to do so causes all execution to subsequentally fail with
+"drm_intel_gem_bo_context_exec() failed: Device or resource busy"
+
+This is needed when using older (Ivy Bridge/Haswell) hardware with
+current Linux/libdrm
+
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=98647
+Bug-Debian: https://bugs.debian.org/860805
+Origin: upstream 8b04f0be372da8eabdc93d6ae1b81a3c83cba284
+Author: Yang Rong, Chris Wilson
+
+diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c
+index b8a1b52..3caf737 100644
+--- a/src/intel/intel_driver.c
++++ b/src/intel/intel_driver.c
+@@ -137,19 +137,28 @@ return 1;
+ static int
+ intel_driver_context_init(intel_driver_t *driver)
+ {
+-driver->ctx = drm_intel_gem_context_create(driver->bufmgr);
+-if (!driver->ctx)
+-  return 0;
+-driver->null_bo = NULL;
++  driver->ctx = drm_intel_gem_context_create(driver->bufmgr);
++  if (!driver->ctx)
++    return 0;
++  driver->null_bo = NULL;
+ #ifdef HAS_BO_SET_SOFTPIN
+-drm_intel_bo *bo = dri_bo_alloc(driver->bufmgr, "null_bo", 64*1024, 4096);
+-drm_intel_bo_set_softpin_offset(bo, 0);
+-// don't reuse it, that would make two bo trying to bind to same address,
+-// which is un-reasonable.
+-drm_intel_bo_disable_reuse(bo);
+-driver->null_bo = bo;
++ drm_intel_bo *bo = dri_bo_alloc(driver->bufmgr, "null_bo", 64*1024, 4096);
++  drm_intel_bo_set_softpin_offset(bo, 0);
++ // don't reuse it, that would make two bo trying to bind to same address,
++  // which is un-reasonable.
++  drm_intel_bo_disable_reuse(bo);
++
++  drm_intel_bo_map(bo, 1);
++  *(uint32_t *)bo->virtual = MI_BATCH_BUFFER_END;
++  drm_intel_bo_unmap(bo);
++
++  if (drm_intel_gem_bo_context_exec(bo, driver->ctx, 0, 0) == 0) {
++    driver->null_bo = bo;
++  } else {
++    drm_intel_bo_unreference(bo);
++  }
+ #endif
+-return 1;
++    return 1;
+ }
+
+ static void
diff --git a/debian/rules b/debian/rules
index 302dd30..9bc87e4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -16,7 +16,8 @@ SUPERFLUOUS=cl.h cl_d3d10.h cl_dx9_media_sharing.h cl_ext.h cl_gl_ext.h cl_platf # Use the same LLVM version as mesa (build will fail if this version is not available; this is intentional, as mixing versions may cause crashes) # http://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20160418/000963.html LLVM_VERSION_MESA := $(shell dpkg-query -f '$${Depends} \n' -W libgl1-mesa-dri:$(DEB_HOST_ARCH) | sed -r 's/.*libllvm([0-9.]+).*/\1/p;d')
-LLVM_VERSION_DEFAULT	 = 3.9
+#x32 mesa doesn't use libllvm - use 3.8 there, as their "3.9" snapshot doesn't work for us https://buildd.debian.org/status/fetch.php?pkg=beignet&arch=x32&ver=1.3.0-2&stamp=1489907158&raw=0
+LLVM_VERSION_DEFAULT	 = 3.8
 LLVM_VERSION		 = $(or $(LLVM_VERSION_MESA),$(LLVM_VERSION_DEFAULT))
#this looks the wrong way round because --compare-versions uses success=0 and we need on=1 CAN_ENABLE_OPENCL2 := $(if $(findstring amd64,$(DEB_HOST_ARCH)),$(shell dpkg --compare-versions $(LLVM_VERSION) lt 3.9 || dpkg --compare-versions `dpkg-query -f '$${Version}' -W libdrm-dev:$(DEB_HOST_ARCH)` lt 2.4.66 ; echo $$?),0)
--- End Message ---
--- Begin Message ---
Rebecca N. Palmer:
> Package: release.debian.org
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> Severity: normal
> 
> Please unblock package beignet (currently awaiting sponsorship)
> 
>   * Fix "Exec...-5" error, which made beignet unusable on older (Ivy
> Bridge / Haswell) hardware.  (Closes: #860805)
>   * Use LLVM 3.8 on x32 to fix FTBFS.  (This change only affects x32
> because everything else we build on uses LLVM_VERSION_MESA.)
> 
> unblock beignet/1.3.0-3
> 
> [...]
> 

Unblocked, thanks.

~Niels

--- End Message ---

Reply to: