From patchwork Mon Oct 22 12:51:25 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Hellstrom X-Patchwork-Id: 1625611 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork1.kernel.org (Postfix) with ESMTP id 36A85400E8 for ; Mon, 22 Oct 2012 12:52:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 14B289EFFC for ; Mon, 22 Oct 2012 05:52:43 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from smtp-outbound-1.vmware.com (smtp-outbound-1.vmware.com [208.91.2.12]) by gabe.freedesktop.org (Postfix) with ESMTP id 287409E7D9 for ; Mon, 22 Oct 2012 05:51:46 -0700 (PDT) Received: from sc9-mailhost1.vmware.com (sc9-mailhost1.vmware.com [10.113.161.71]) by smtp-outbound-1.vmware.com (Postfix) with ESMTP id 0A08C28763; Mon, 22 Oct 2012 05:51:46 -0700 (PDT) Received: from zcs-prod-mta-3.vmware.com (zcs-prod-mta-3.vmware.com [10.113.163.65]) by sc9-mailhost1.vmware.com (Postfix) with ESMTP id 0725E1848B; Mon, 22 Oct 2012 05:51:46 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by zcs-prod-mta-3.vmware.com (Postfix) with ESMTP id 92F0FE1D35; Mon, 22 Oct 2012 05:50:49 -0700 (PDT) X-Virus-Scanned: amavisd-new at zcs-prod-mta-3.vmware.com Received: from zcs-prod-mta-3.vmware.com ([127.0.0.1]) by localhost (zcs-prod-mta-3.vmware.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id TykzmF9Dy3Rl; Mon, 22 Oct 2012 05:50:49 -0700 (PDT) Received: from sc9-mailhost2.vmware.com (unknown [10.113.160.14]) by zcs-prod-mta-3.vmware.com (Postfix) with ESMTPSA id 044DBE1D44; Mon, 22 Oct 2012 05:50:47 -0700 (PDT) From: Thomas Hellstrom To: airlied@gmail.com, airlied@redhat.com Subject: [PATCH -fixes 1/2] drm/ttm: Fix a theoretical race Date: Mon, 22 Oct 2012 14:51:25 +0200 Message-Id: <1350910286-8073-2-git-send-email-thellstrom@vmware.com> X-Mailer: git-send-email 1.7.4.4 In-Reply-To: <1350910286-8073-1-git-send-email-thellstrom@vmware.com> References: <1350910286-8073-1-git-send-email-thellstrom@vmware.com> Cc: Thomas Hellstrom , dri-devel@lists.freedesktop.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org The ttm_mem_evict_first function could theoretically drop the lru lock without retrying if a reservation from off the LRU list ended up waiting. However, since currently there are no users that could cause a wait in that situation so this is not suitable for stable Signed-off-by: Thomas Hellstrom --- drivers/gpu/drm/ttm/ttm_bo.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 402ab69..d42631c 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -817,11 +817,11 @@ retry: goto retry; } - ret = ttm_bo_reserve_locked(bo, false, no_wait_reserve, false, 0); + ret = ttm_bo_reserve_locked(bo, false, true, false, 0); if (unlikely(ret == -EBUSY)) { spin_unlock(&glob->lru_lock); - if (likely(!no_wait_gpu)) + if (likely(!no_wait_reserve)) ret = ttm_bo_wait_unreserved(bo, interruptible); kref_put(&bo->list_kref, ttm_bo_release_list);