Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp1096663imd; Thu, 1 Nov 2018 10:09:15 -0700 (PDT) X-Google-Smtp-Source: AJdET5fxgvcsPdISo4j/b5c3n0ul/eHySf+QGVTy1ts4GFuoFukol+M/pMQONsjlm7VWXfDOFkE5 X-Received: by 2002:a17:902:8d83:: with SMTP id v3-v6mr8432836plo.162.1541092155491; Thu, 01 Nov 2018 10:09:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541092155; cv=none; d=google.com; s=arc-20160816; b=LbSPCjSVe2HGyQQaCq9INt+UPofe1d6sUmzTxXh3XAy3JsJec3ucJ4PPyc6Vhz1ruT EwrzQWBmQ8o8jncRltTJ1KFe5XzfCm1p9oQ3fQqCR9uZkrQmMgjv4oHJ3Bm239BmvV5p g6cSc4UiRBQOmezwE/uKDSv283w92/TvtFrCeDpZwDFemysh5qP7BBfUT5omvNuzaiQZ +piuIz/botEXJphv6UZzQXTu4yMhJGUFtZpxUS57a0gWYvPedUpAbF4av2o++6l66L03 uDkztLWMj678NK3R9Z9GLLPbKLG6Iw4O05sKsNSw2gKpLCM7qa8Yvf/9+lx50HkjILPp tRvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject; bh=QKVuA6yqJxquUdNAkVxXI/hJDwvyse3/Erq1Aa0RKUQ=; b=gHd7aPUlvhL8kLCXdmuqpLJUxOw5RcmhMmiybCbhIoSilGUcAH+WqajQ3cJO6QCTkc umJjnXFtEnzdZNKW3neeNZ4e7XTyDqTkWpBfCPnOg1WOOHPVYrGO0E4GhI45ETQnD80W jbGDKLGgqhOnMfe1j2S158PwVzeY6KQxpMDv8dIm7LMD0ZEsibK/cnx7pwWvVnYWYxZY HiR7/yCmkRsSC8FWNjTlTgbWmkneSPJXp0Jek4JVshA/3fbPoplJmKDIswl1/RhookWT BUFwok60nMcqCYeqglxDzlMqcv3AjiBQZ0XqZN0/+x9T+BuLJcTh/Sufxox5Ise75Xc3 eMFw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s7-v6si7098021plq.290.2018.11.01.10.08.59; Thu, 01 Nov 2018 10:09:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726985AbeKBCMF (ORCPT + 99 others); Thu, 1 Nov 2018 22:12:05 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:57832 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725843AbeKBCMF (ORCPT ); Thu, 1 Nov 2018 22:12:05 -0400 Received: from [IPv6:2a02:8109:92c0:207d:3d24:60ad:a75d:194d] (unknown [IPv6:2a02:8109:92c0:207d:3d24:60ad:a75d:194d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: robertfoss) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 541172605F9; Thu, 1 Nov 2018 17:08:14 +0000 (GMT) Subject: Re: [PATCH v1] drm/msm: Move fence put to where failure occurs To: Chris Wilson , airlied@linux.ie, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, robdclark@gmail.com References: <20181101161228.19432-1-robert.foss@collabora.com> <154108957570.30246.16686926988338640470@skylake-alporthouse-com> From: Robert Foss Message-ID: <8153c015-a082-1897-a486-6fe2c5166168@collabora.com> Date: Thu, 1 Nov 2018 18:08:11 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: <154108957570.30246.16686926988338640470@skylake-alporthouse-com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hey Chris, On 2018-11-01 17:26, Chris Wilson wrote: > Quoting Robert Foss (2018-11-01 16:12:28) >> If dma_fence_wait fails to wait for a supplied in-fence in >> msm_ioctl_gem_submit, make sure we release that in-fence. >> >> Also remove this dma_fence_put() from the 'out' label. >> >> Signed-off-by: Robert Foss >> --- >> drivers/gpu/drm/msm/msm_gem_submit.c | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c >> index a90aedd6883a..3e7704af5b24 100644 >> --- a/drivers/gpu/drm/msm/msm_gem_submit.c >> +++ b/drivers/gpu/drm/msm/msm_gem_submit.c >> @@ -411,7 +411,6 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data, >> struct msm_file_private *ctx = file->driver_priv; >> struct msm_gem_submit *submit; >> struct msm_gpu *gpu = priv->gpu; >> - struct dma_fence *in_fence = NULL; >> struct sync_file *sync_file = NULL; >> struct msm_gpu_submitqueue *queue; >> struct msm_ringbuffer *ring; >> @@ -444,7 +443,8 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data, >> ring = gpu->rb[queue->prio]; >> >> if (args->flags & MSM_SUBMIT_FENCE_FD_IN) { >> - in_fence = sync_file_get_fence(args->fence_fd); >> + struct dma_fence *in_fence = sync_file_get_fence( >> + args->fence_fd); >> >> if (!in_fence) >> return -EINVAL; >> @@ -455,8 +455,10 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data, >> */ >> if (!dma_fence_match_context(in_fence, ring->fctx->context)) { >> ret = dma_fence_wait(in_fence, true); >> - if (ret) >> + if (ret) { >> + dma_fence_put(in_fence); >> return ret; >> + } >> } > > Careful, we need to keep the put for the normal path. Maybe, Good catch, I'll send out a fixed version tomorrow. > > if (args->flags & MSM_SUBMIT_FENCE_FD_IN) { > struct dma_fence *in_fence; > > in_fence = sync_file_get_fence(args->fence_fd); // keep line breaks natural > if (!in_fence) > return -EINVAL; > > ret = 0; > if (!dma_fence_match_match_context(in_fence, ring->fctx->context) > ret = dma_fence_wait(in_fence, true); > dma_fence_put(in_fence); > if (ret) > return ret; > } > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel >