Received: by 10.223.164.202 with SMTP id h10csp5227167wrb; Tue, 21 Nov 2017 06:39:03 -0800 (PST) X-Google-Smtp-Source: AGs4zMb2oW/mUDrAed4p+DWJ+OGohhsjROATHZ+38fSaWNQzdvqLaQoPlPWbj6Z2o4XhjJAcF7yH X-Received: by 10.84.133.162 with SMTP id f31mr18093479plf.304.1511275143374; Tue, 21 Nov 2017 06:39:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511275143; cv=none; d=google.com; s=arc-20160816; b=W3VNckFTzy/jL6bJileIeJclhTucrJubh+UTu+MxUqcdgj3bK/DAY5jpVX1Lf9lXmg /e5gayxd1sXpjdvrclEvD3B7fwnqQ9ltfrhLeyLafY9QCtuva5QBZjZMplXVioLHLyU0 OcCPUA4eLYajsRCwvzYrYNZpOZLtGSJRWNARZwEGTbsWCAZh9E5MSX4L51w27ZqYVL5J ECu8Q+3EOrX5wBJwW0VxlFh4GNaF2jY9vvl1Ubb1JKvgnyAcmB7ME0esJGtwcU7nbkYq xw16lnEDY40n4TJEHkRmaTTfCL83EkCy5qpcEm8JIluDKf2Jo8TzoOiKrdhOyLiKPvUF gCJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:subject:user-agent:message-id :references:cc:in-reply-to:from:to:content-transfer-encoding :mime-version:arc-authentication-results; bh=ajr3PwAcXLTBMyQ9f6KgCU3XMwuGFPqr+KLYP2bnI+c=; b=YEnXsGVAQDX54pcTBIX0UPWhQC27Si9NkUbvZu/NgiwnEq+cRrqD0bFgAG9ANO6Y+G Iqd0mLzZV7jtsQ6iUivQzYlASM2u2GCxhoxI9UKd6WCP4V936uMR5X6e4lAWwxRxwYgT HHcX1O09ZQvwqg3lTWozkj+AcDTvbPtbkA4fglpnjP6fYNWM/1VtuUOu+Kmw29r5qGJb gBxly8S9xtP7X3JF6YVxq737kSinMlUOR89RK02Nugl2c1Dfb3EAAhj6F3AAwBCHOs7h d17YaLu9EXWUXBX2z8acF28Rx9SeUnx2JflSIguxLC5ykJax6tdPJl2EzBb7MMWzdCNt DxVQ== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u2si11001740pls.531.2017.11.21.06.38.51; Tue, 21 Nov 2017 06:39:03 -0800 (PST) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751379AbdKUOiI convert rfc822-to-8bit (ORCPT + 76 others); Tue, 21 Nov 2017 09:38:08 -0500 Received: from mail.fireflyinternet.com ([109.228.58.192]:50580 "EHLO fireflyinternet.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751260AbdKUOiG (ORCPT ); Tue, 21 Nov 2017 09:38:06 -0500 X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from localhost (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP (TLS) id 9677027-1500050 for multiple; Tue, 21 Nov 2017 14:38:03 +0000 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT To: Rob Clark , dri-devel@lists.freedesktop.org From: Chris Wilson In-Reply-To: <20171121140850.23401-1-robdclark@gmail.com> Cc: linaro-mm-sig@lists.linaro.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org References: <20171121140850.23401-1-robdclark@gmail.com> Message-ID: <151127508188.436.3320065005004428970@mail.alporthouse.com> User-Agent: alot/0.3.6 Subject: Re: [PATCH] reservation: don't wait when timeout=0 Date: Tue, 21 Nov 2017 14:38:01 +0000 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Rob Clark (2017-11-21 14:08:46) > If we are testing if a reservation object's fences have been > signaled with timeout=0 (non-blocking), we need to pass 0 for > timeout to dma_fence_wait_timeout(). > > Plus bonus spelling correction. > > Signed-off-by: Rob Clark > --- > drivers/dma-buf/reservation.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma-buf/reservation.c b/drivers/dma-buf/reservation.c > index dec3a815455d..71f51140a9ad 100644 > --- a/drivers/dma-buf/reservation.c > +++ b/drivers/dma-buf/reservation.c > @@ -420,7 +420,7 @@ EXPORT_SYMBOL_GPL(reservation_object_get_fences_rcu); > * > * RETURNS > * Returns -ERESTARTSYS if interrupted, 0 if the wait timed out, or > - * greater than zer on success. > + * greater than zero on success. > */ > long reservation_object_wait_timeout_rcu(struct reservation_object *obj, > bool wait_all, bool intr, > @@ -483,7 +483,14 @@ long reservation_object_wait_timeout_rcu(struct reservation_object *obj, > goto retry; > } > > - ret = dma_fence_wait_timeout(fence, intr, ret); > + /* > + * Note that dma_fence_wait_timeout() will return 1 if > + * the fence is already signaled, so in the wait_all > + * case when we go through the retry loop again, ret > + * will be greater than 0 and we don't want this to > + * cause _wait_timeout() to block > + */ > + ret = dma_fence_wait_timeout(fence, intr, timeout ? ret : 0); One should ask if we should just fix the interface to stop returning incorrect results (stop "correcting" a completion with 0 jiffies remaining as 1). A timeout can be distinguished by -ETIME (or your pick of errno). -Chris From 1584686171693072371@xxx Tue Nov 21 14:28:21 +0000 2017 X-GM-THRID: 1584685078993396088 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread