From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 10A3FC07E99 for ; Mon, 12 Jul 2021 20:02:43 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DD30E611CC for ; Mon, 12 Jul 2021 20:02:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DD30E611CC Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BDF9389E36; Mon, 12 Jul 2021 20:02:19 +0000 (UTC) Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE54889DCF for ; Mon, 12 Jul 2021 20:02:15 +0000 (UTC) Received: by mail-wm1-x32c.google.com with SMTP id l18-20020a1ced120000b029014c1adff1edso7319wmh.4 for ; Mon, 12 Jul 2021 13:02:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6oKtmGiKJUZfXT78MM22rL/3f/JGWmhDhHuPlcib2rg=; b=W9ueRzVyj9D3q7BukjJ6iHr9MhfVTz5QTmufVHprO/4ANnggd4/ITxFkWMdruXKdyf cpHe21lJ5lBLoodiNss5O7wwifznJblmTTJx25FW5J1Ud9sGcMannDevgJe35bTjtddU ibZ0mTs8srCFYvFp++xsKQTJ0mjZG5yYWEq9A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6oKtmGiKJUZfXT78MM22rL/3f/JGWmhDhHuPlcib2rg=; b=aJElr0kcuZm5NVkrRTMfQtzvY8wzMF+TZlvXFm8VUqR/+hWd+sHQvnO9noO9sUwABn Ui0dhhYTwEdgZ4WgSm1QzTL7I8PoNlNuo9K/XPQBMrQXlneR5Df9VQXlkrcjsxtyf2iD tQnE+YLQ7WTiKnqQk0PJpzHsiIzLey4cyK46XXhVRcoDd8xFAbjOUcyjmhi6iQb2+QcN 5zPU8cV27p1Z6l6t3QaPjjjolMN3B6R8S8A5iWzlyEaiosyQJ7OUMHNvcnRJ310KviuC 0Hu6TnV6CMVddP2lcIL6Kdmi5yOP3nLHWEojqZCTwaJ0gTiRrFmWXw522iJ8bEhtlve+ mPoA== X-Gm-Message-State: AOAM5300LxKGe9Mr+HwnAXH/9wePe2DM1wv9JFKL9ivePdp768HLlsW3 spIXgWReRlub9SGG5Kml6tFMTID7o7p1kg== X-Google-Smtp-Source: ABdhPJwsgW3nmuV4ENvyxT/y/wfkOSh4a2sPmzA9GB/SANA51myrb56haOr+6vHgpdB7dSm2nXrsaA== X-Received: by 2002:a1c:730d:: with SMTP id d13mr16895377wmb.129.1626120134262; Mon, 12 Jul 2021 13:02:14 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id l14sm9858221wrs.22.2021.07.12.13.02.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jul 2021 13:02:13 -0700 (PDT) From: Daniel Vetter To: DRI Development Subject: [PATCH v4 17/18] drm/i915: Don't break exclusive fence ordering Date: Mon, 12 Jul 2021 19:53:51 +0200 Message-Id: <20210712175352.802687-18-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210712175352.802687-1-daniel.vetter@ffwll.ch> References: <20210712175352.802687-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Daniel Vetter , Intel Graphics Development , Jason Ekstrand , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" There's only one exclusive slot, and we must not break the ordering. Adding a new exclusive fence drops all previous fences from the dma_resv. To avoid violating the signalling order we err on the side of over-synchronizing by waiting for the existing fences, even if userspace asked us to ignore them. A better fix would be to us a dma_fence_chain or _array like e.g. amdgpu now uses, but it probably makes sense to lift this into dma-resv.c code as a proper concept, so that drivers don't have to hack up their own solution each on their own. Hence go with the simple fix for now. Another option is the fence import ioctl from Jason: https://lore.kernel.org/dri-devel/20210610210925.642582-7-jason@jlekstrand.net/ v2: Improve commit message per Lucas' suggestion. Cc: Lucas Stach Signed-off-by: Daniel Vetter Cc: Maarten Lankhorst Cc: "Thomas Hellström" Cc: Jason Ekstrand --- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index b4a77eba8631..b3d675987493 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -1767,6 +1767,7 @@ static int eb_move_to_gpu(struct i915_execbuffer *eb) struct i915_vma *vma = ev->vma; unsigned int flags = ev->flags; struct drm_i915_gem_object *obj = vma->obj; + bool async, write; assert_vma_held(vma); @@ -1798,7 +1799,10 @@ static int eb_move_to_gpu(struct i915_execbuffer *eb) flags &= ~EXEC_OBJECT_ASYNC; } - if (err == 0 && !(flags & EXEC_OBJECT_ASYNC)) { + async = flags & EXEC_OBJECT_ASYNC; + write = flags & EXEC_OBJECT_WRITE; + + if (err == 0 && (!async || write)) { err = i915_request_await_object (eb->request, obj, flags & EXEC_OBJECT_WRITE); } -- 2.32.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 552DDC07E99 for ; Mon, 12 Jul 2021 20:02:40 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1537A611CC for ; Mon, 12 Jul 2021 20:02:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1537A611CC Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D320D89E3F; Mon, 12 Jul 2021 20:02:17 +0000 (UTC) Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9658B89E11 for ; Mon, 12 Jul 2021 20:02:15 +0000 (UTC) Received: by mail-wm1-x332.google.com with SMTP id l4-20020a05600c4f04b0290220f8455631so799036wmq.1 for ; Mon, 12 Jul 2021 13:02:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6oKtmGiKJUZfXT78MM22rL/3f/JGWmhDhHuPlcib2rg=; b=W9ueRzVyj9D3q7BukjJ6iHr9MhfVTz5QTmufVHprO/4ANnggd4/ITxFkWMdruXKdyf cpHe21lJ5lBLoodiNss5O7wwifznJblmTTJx25FW5J1Ud9sGcMannDevgJe35bTjtddU ibZ0mTs8srCFYvFp++xsKQTJ0mjZG5yYWEq9A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6oKtmGiKJUZfXT78MM22rL/3f/JGWmhDhHuPlcib2rg=; b=HuZUMtDp3mc/Xk4xy4XQARksnujTpyrN4SVFVqNyi24laDGx8X8iH3LpkbY01c9ZR3 71VysNr3DY16mzgh62W1ROnqGJVnTXfKxhFtaxVatoEUWPjeRs0CQ7sW1r7IglJePmip FuLlI3VDrInq3Mge3WoLxwcAUdt2OOPdUERJCFkMztLKL5QmKXKBzdKKXjAo+bOgd/cd a0Br1DaDzaAM+tpjqOXu5jbgkrki9jNY3EOoq3lxiazxlMdy0IhwL5F8OYG0+K2dvNWN w2ZUmrxa9lEDX2RjBS8rNEDhEHK043Aph2XBnOZbBkddWL1eBGZODD+dmo9LT0zsHBUE Yk+w== X-Gm-Message-State: AOAM53321Upthou8HweoEGJXPoHPFMSk16X5o6epJDg7QO6Ag/+o57Yw BG7gSmBUFlXIz/mLs1AKWpr0tQ== X-Google-Smtp-Source: ABdhPJwsgW3nmuV4ENvyxT/y/wfkOSh4a2sPmzA9GB/SANA51myrb56haOr+6vHgpdB7dSm2nXrsaA== X-Received: by 2002:a1c:730d:: with SMTP id d13mr16895377wmb.129.1626120134262; Mon, 12 Jul 2021 13:02:14 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id l14sm9858221wrs.22.2021.07.12.13.02.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jul 2021 13:02:13 -0700 (PDT) From: Daniel Vetter To: DRI Development Date: Mon, 12 Jul 2021 19:53:51 +0200 Message-Id: <20210712175352.802687-18-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210712175352.802687-1-daniel.vetter@ffwll.ch> References: <20210712175352.802687-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v4 17/18] drm/i915: Don't break exclusive fence ordering X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Daniel Vetter , Intel Graphics Development , Daniel Vetter , Lucas Stach Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VGhlcmUncyBvbmx5IG9uZSBleGNsdXNpdmUgc2xvdCwgYW5kIHdlIG11c3Qgbm90IGJyZWFrIHRo ZSBvcmRlcmluZy4KQWRkaW5nIGEgbmV3IGV4Y2x1c2l2ZSBmZW5jZSBkcm9wcyBhbGwgcHJldmlv dXMgZmVuY2VzIGZyb20gdGhlCmRtYV9yZXN2LiBUbyBhdm9pZCB2aW9sYXRpbmcgdGhlIHNpZ25h bGxpbmcgb3JkZXIgd2UgZXJyIG9uIHRoZSBzaWRlIG9mCm92ZXItc3luY2hyb25pemluZyBieSB3 YWl0aW5nIGZvciB0aGUgZXhpc3RpbmcgZmVuY2VzLCBldmVuIGlmCnVzZXJzcGFjZSBhc2tlZCB1 cyB0byBpZ25vcmUgdGhlbS4KCkEgYmV0dGVyIGZpeCB3b3VsZCBiZSB0byB1cyBhIGRtYV9mZW5j ZV9jaGFpbiBvciBfYXJyYXkgbGlrZSBlLmcuCmFtZGdwdSBub3cgdXNlcywgYnV0IGl0IHByb2Jh Ymx5IG1ha2VzIHNlbnNlIHRvIGxpZnQgdGhpcyBpbnRvCmRtYS1yZXN2LmMgY29kZSBhcyBhIHBy b3BlciBjb25jZXB0LCBzbyB0aGF0IGRyaXZlcnMgZG9uJ3QgaGF2ZSB0bwpoYWNrIHVwIHRoZWly IG93biBzb2x1dGlvbiBlYWNoIG9uIHRoZWlyIG93bi4gSGVuY2UgZ28gd2l0aCB0aGUgc2ltcGxl CmZpeCBmb3Igbm93LgoKQW5vdGhlciBvcHRpb24gaXMgdGhlIGZlbmNlIGltcG9ydCBpb2N0bCBm cm9tIEphc29uOgoKaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZHJpLWRldmVsLzIwMjEwNjEwMjEw OTI1LjY0MjU4Mi03LWphc29uQGpsZWtzdHJhbmQubmV0LwoKdjI6IEltcHJvdmUgY29tbWl0IG1l c3NhZ2UgcGVyIEx1Y2FzJyBzdWdnZXN0aW9uLgoKQ2M6IEx1Y2FzIFN0YWNoIDxsLnN0YWNoQHBl bmd1dHJvbml4LmRlPgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGludGVsLmNvbT4KQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51 eC5pbnRlbC5jb20+CkNjOiAiVGhvbWFzIEhlbGxzdHLDtm0iIDx0aG9tYXMuaGVsbHN0cm9tQGxp bnV4LmludGVsLmNvbT4KQ2M6IEphc29uIEVrc3RyYW5kIDxqYXNvbkBqbGVrc3RyYW5kLm5ldD4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgNiAr KysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCBi NGE3N2ViYTg2MzEuLmIzZDY3NTk4NzQ5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xNzY3LDYgKzE3NjcsNyBAQCBzdGF0aWMgaW50 IGViX21vdmVfdG9fZ3B1KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViKQogCQlzdHJ1Y3QgaTkx NV92bWEgKnZtYSA9IGV2LT52bWE7CiAJCXVuc2lnbmVkIGludCBmbGFncyA9IGV2LT5mbGFnczsK IAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IHZtYS0+b2JqOworCQlib29sIGFz eW5jLCB3cml0ZTsKIAogCQlhc3NlcnRfdm1hX2hlbGQodm1hKTsKIApAQCAtMTc5OCw3ICsxNzk5 LDEwIEBAIHN0YXRpYyBpbnQgZWJfbW92ZV90b19ncHUoc3RydWN0IGk5MTVfZXhlY2J1ZmZlciAq ZWIpCiAJCQkJZmxhZ3MgJj0gfkVYRUNfT0JKRUNUX0FTWU5DOwogCQl9CiAKLQkJaWYgKGVyciA9 PSAwICYmICEoZmxhZ3MgJiBFWEVDX09CSkVDVF9BU1lOQykpIHsKKwkJYXN5bmMgPSBmbGFncyAm IEVYRUNfT0JKRUNUX0FTWU5DOworCQl3cml0ZSA9IGZsYWdzICYgRVhFQ19PQkpFQ1RfV1JJVEU7 CisKKwkJaWYgKGVyciA9PSAwICYmICghYXN5bmMgfHwgd3JpdGUpKSB7CiAJCQllcnIgPSBpOTE1 X3JlcXVlc3RfYXdhaXRfb2JqZWN0CiAJCQkJKGViLT5yZXF1ZXN0LCBvYmosIGZsYWdzICYgRVhF Q19PQkpFQ1RfV1JJVEUpOwogCQl9Ci0tIAoyLjMyLjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=