From 9707733a130098a7d9959e72ebd782d8119a23d3 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 1 Dec 2009 23:01:34 +0000 Subject: intel: Expect caller to guarantee thread-safety of bo during reloc This removes the foremost prolific user of mutexes in libdrm_intel.so. The other uses of the bufmgr_gem->mutex to serial access to individual bos are currently required by Mesa, and are far less frequent. Signed-off-by: Chris Wilson [anholt: This chunk looks good...] Acked-by: Eric Anholt --- intel/intel_bufmgr_gem.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'intel') diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index 571ab5c8..5b76340a 100644 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -1201,23 +1201,17 @@ drm_intel_gem_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *) bo; drm_intel_bo_gem *target_bo_gem = (drm_intel_bo_gem *) target_bo; - pthread_mutex_lock(&bufmgr_gem->lock); - if (bo_gem->has_error) { - pthread_mutex_unlock(&bufmgr_gem->lock); + if (bo_gem->has_error) return -ENOMEM; - } if (target_bo_gem->has_error) { bo_gem->has_error = 1; - pthread_mutex_unlock(&bufmgr_gem->lock); return -ENOMEM; } /* Create a new relocation list if needed */ - if (bo_gem->relocs == NULL && drm_intel_setup_reloc_list(bo)) { - pthread_mutex_unlock(&bufmgr_gem->lock); + if (bo_gem->relocs == NULL && drm_intel_setup_reloc_list(bo)) return -ENOMEM; - } /* Check overflow */ assert(bo_gem->reloc_count < bufmgr_gem->max_relocs); @@ -1249,8 +1243,6 @@ drm_intel_gem_bo_emit_reloc(drm_intel_bo *bo, uint32_t offset, bo_gem->reloc_count++; - pthread_mutex_unlock(&bufmgr_gem->lock); - return 0; } -- cgit v1.2.3