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.8 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 7F101C07E99 for ; Thu, 8 Jul 2021 17:39:00 +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 559DF61879 for ; Thu, 8 Jul 2021 17:39:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 559DF61879 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 9D6D86E983; Thu, 8 Jul 2021 17:38:30 +0000 (UTC) Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by gabe.freedesktop.org (Postfix) with ESMTPS id A62106E97F for ; Thu, 8 Jul 2021 17:38:28 +0000 (UTC) Received: by mail-wm1-x32d.google.com with SMTP id g10so4614696wmh.2 for ; Thu, 08 Jul 2021 10:38:28 -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=rb+Oe0toTeOgIa8IYANnZUAlOMPcqkeH94RTQyNbWo4=; b=S3rdQIP9Mqjn5JnmJiqkQWCpNxC+MXmVCjZrYyp+UUFekxglKz26txWDkt8+TK6w5z 3jQBJPqBEsJkixQ9YJ7VT/U136DfVY641fjDJTuXuEbzRal1cga6BIPxorcVs0lgjkur JHmP+2xCaow84P9nS3UB58FbevmgfN3vdVUKk= 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=rb+Oe0toTeOgIa8IYANnZUAlOMPcqkeH94RTQyNbWo4=; b=sP9HdaGaPzTrh4kRbKooSYpIj+wdW6YhFMyMf8pg6QV3sSs/MSG4d+xZZobEHkRAw+ IXsE29l9tg2nUAjR+2CoQSzJpxvtV40NbIL98tlXdylQ8MFGb6MJXA47hh+HZH2n3dH9 mpBplyEvzg93vnODWEdlk40WCFVaBeiXGyJrFxZ8tLfkRBSZkJwkublN4IulG/H2MTks tdUSWCoyfItZ90G7KH6xFltWoCLlzgvw/nHOb0GjVBbbpdzp/Bh4AfHaXZ6wKthLv5tG NGlGw4SKT/zBfregP65ZV2d8E/Uw7A8J23eCUD3/OBBQLt9+++catebHC2Q+S25J2I5x i98Q== X-Gm-Message-State: AOAM5311HYPlaeLRzY3o2lpUiQEZRW3XXw+T3UR6iETNYliOc7oEDoxL vET0W3piGIz6cVSk5eP005zhw6q95onDVw== X-Google-Smtp-Source: ABdhPJzARFjuD8o/FtezQB2TZDKit1O5wm4srPP68GzbT+W98oCNxqARdhWL/s5uhK8xov1cfyseeg== X-Received: by 2002:a1c:f206:: with SMTP id s6mr6529631wmc.15.1625765907304; Thu, 08 Jul 2021 10:38:27 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id l4sm2521853wme.26.2021.07.08.10.38.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jul 2021 10:38:26 -0700 (PDT) From: Daniel Vetter To: DRI Development Subject: [PATCH v3 19/20] drm/i915: Don't break exclusive fence ordering Date: Thu, 8 Jul 2021 19:37:53 +0200 Message-Id: <20210708173754.3877540-20-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210708173754.3877540-1-daniel.vetter@ffwll.ch> References: <20210708173754.3877540-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 47e07179347a..9d717c8842e2 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -1775,6 +1775,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); @@ -1806,7 +1807,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.8 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 A1019C07E9E for ; Thu, 8 Jul 2021 17:38:58 +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 7743461920 for ; Thu, 8 Jul 2021 17:38:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7743461920 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 776626E980; Thu, 8 Jul 2021 17:38:29 +0000 (UTC) Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com [IPv6:2a00:1450:4864:20::335]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9F41B6E978 for ; Thu, 8 Jul 2021 17:38:28 +0000 (UTC) Received: by mail-wm1-x335.google.com with SMTP id k31-20020a05600c1c9fb029021727d66d33so3042695wms.0 for ; Thu, 08 Jul 2021 10:38:28 -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=rb+Oe0toTeOgIa8IYANnZUAlOMPcqkeH94RTQyNbWo4=; b=S3rdQIP9Mqjn5JnmJiqkQWCpNxC+MXmVCjZrYyp+UUFekxglKz26txWDkt8+TK6w5z 3jQBJPqBEsJkixQ9YJ7VT/U136DfVY641fjDJTuXuEbzRal1cga6BIPxorcVs0lgjkur JHmP+2xCaow84P9nS3UB58FbevmgfN3vdVUKk= 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=rb+Oe0toTeOgIa8IYANnZUAlOMPcqkeH94RTQyNbWo4=; b=RiZ3tF5KW5N/PJHZf9lFeL+6i0OI4QYSHSAi/rAghSlwITtqhgxrqD1hB0fxqdwgCD Y2jGVbaInJNcqz6e7kdwBsEsbBHvy31HqYDlbEvOlTpUdVOF6/soP/vU7qicDVuoVJJQ JD+R5OSHGmyImT6J6u00UfCAOPFNw1wQv/JC3cypdwF7W/3pTe3MHiQc0jwfG3AgTesf g4b7ehLSJQCgaS8DAAi3fNCv1dIfZoaUiT1J/SpMAIeHdcmarUZZu1aiRCQVAVzyCX99 Zut/rwfT08PQUHkNIVUIKccrLaY9dcvpHJ7sJjDodyp2CyWE4AecswzrqK/6sAtp9p4l oWLg== X-Gm-Message-State: AOAM5327sLdyrjGZIqx9+b07/wrxZ+9CrWQjvGd7okczm40LOrNJqQYT hLZ7LRYvYDLHkYpzRCJTB7/5ag== X-Google-Smtp-Source: ABdhPJzARFjuD8o/FtezQB2TZDKit1O5wm4srPP68GzbT+W98oCNxqARdhWL/s5uhK8xov1cfyseeg== X-Received: by 2002:a1c:f206:: with SMTP id s6mr6529631wmc.15.1625765907304; Thu, 08 Jul 2021 10:38:27 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id l4sm2521853wme.26.2021.07.08.10.38.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jul 2021 10:38:26 -0700 (PDT) From: Daniel Vetter To: DRI Development Date: Thu, 8 Jul 2021 19:37:53 +0200 Message-Id: <20210708173754.3877540-20-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210708173754.3877540-1-daniel.vetter@ffwll.ch> References: <20210708173754.3877540-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v3 19/20] 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 IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCA0 N2UwNzE3OTM0N2EuLjlkNzE3Yzg4NDJlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xNzc1LDYgKzE3NzUsNyBAQCBzdGF0aWMgaW50 IGViX21vdmVfdG9fZ3B1KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViKQogCQlzdHJ1Y3QgaTkx NV92bWEgKnZtYSA9IGV2LT52bWE7CiAJCXVuc2lnbmVkIGludCBmbGFncyA9IGV2LT5mbGFnczsK IAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IHZtYS0+b2JqOworCQlib29sIGFz eW5jLCB3cml0ZTsKIAogCQlhc3NlcnRfdm1hX2hlbGQodm1hKTsKIApAQCAtMTgwNiw3ICsxODA3 LDEwIEBAIHN0YXRpYyBpbnQgZWJfbW92ZV90b19ncHUoc3RydWN0IGk5MTVfZXhlY2J1ZmZlciAq ZWIpCiAJCQkJZmxhZ3MgJj0gfkVYRUNfT0JKRUNUX0FTWU5DOwogCQl9CiAKLQkJaWYgKGVyciA9 PSAwICYmICEoZmxhZ3MgJiBFWEVDX09CSkVDVF9BU1lOQykpIHsKKwkJYXN5bmMgPSBmbGFncyAm IEVYRUNfT0JKRUNUX0FTWU5DOworCQl3cml0ZSA9IGZsYWdzICYgRVhFQ19PQkpFQ1RfV1JJVEU7 CisKKwkJaWYgKGVyciA9PSAwICYmICghYXN5bmMgfHwgd3JpdGUpKSB7CiAJCQllcnIgPSBpOTE1 X3JlcXVlc3RfYXdhaXRfb2JqZWN0CiAJCQkJKGViLT5yZXF1ZXN0LCBvYmosIGZsYWdzICYgRVhF Q19PQkpFQ1RfV1JJVEUpOwogCQl9Ci0tIAoyLjMyLjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=