From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jacek Danecki Subject: Re: [PATCH] intel: Adding locks for drm objects synchronization. Date: Fri, 19 Sep 2014 15:45:27 +0200 Message-ID: <541C3377.6090203@intel.com> References: <1407264698-24779-1-git-send-email-rafal.a.sapala@intel.com> <20140918124338.GP31703@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id DCB846E1AA for ; Fri, 19 Sep 2014 06:45:29 -0700 (PDT) In-Reply-To: <20140918124338.GP31703@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , "Sapala, Rafal A" Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On 09/18/14 14:43, Daniel Vetter wrote: > I can't merge patches with this disclaimer ... We're working on this, sorry... We'll send it again. Btw, in another tests with prime we have also found new problem with synchronization, which below patch fixed. From: Rafal Sapala Date: Thu, 18 Sep 2014 18:01:02 +0200 Subject: [PATCH] Prime sharing mechanism mutex patch for multithread usage Signed-off-by: Rafal Sapala --- intel/intel_bufmgr_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c index d512343..e05920a 100755 --- a/intel/intel_bufmgr_gem.c +++ b/intel/intel_bufmgr_gem.c @@ -2604,6 +2604,7 @@ drm_intel_bo_gem_create_from_prime(drm_intel_bufmgr *bufmgr, int prime_fd, int s struct drm_i915_gem_get_tiling get_tiling; drmMMListHead *list; + pthread_mutex_lock(&bufmgr_gem->lock); ret = drmPrimeFDToHandle(bufmgr_gem->fd, prime_fd, &handle); /* @@ -2611,7 +2612,6 @@ drm_intel_bo_gem_create_from_prime(drm_intel_bufmgr *bufmgr, int prime_fd, int s * for named buffers, we must not create two bo's pointing at the same * kernel object */ - pthread_mutex_lock(&bufmgr_gem->lock); for (list = bufmgr_gem->named.next; list != &bufmgr_gem->named; list = list->next) { -- 1.7.12.4 -- jacek