From patchwork Mon Nov 7 15:46:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Chris Wilson X-Patchwork-Id: 9415429 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4BD3660585 for ; Mon, 7 Nov 2016 15:46:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3F06B2869B for ; Mon, 7 Nov 2016 15:46:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 33AAB289F3; Mon, 7 Nov 2016 15:46:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 390142869B for ; Mon, 7 Nov 2016 15:46:34 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7355389ABA; Mon, 7 Nov 2016 15:46:33 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8A33989ABA for ; Mon, 7 Nov 2016 15:46:32 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id c17so17096008wmc.3 for ; Mon, 07 Nov 2016 07:46:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Ys5UklH+YbK9Z5QjZvCbA5adPRKrSRi3CrtlKVL0sOA=; b=pOfoK7RdGeGwdDCTtEiRznLuIqj4I5TVqvh46t9Yr1E+wZcqDCiDnhEMzJ+fKWRp4J O9Wis4rW7rVE3gtLFf0iCbt5cCNn36i5FfYFP2ATamVvsUuN6xr+Sz+BcImuG6+GQR2S 84gmnj7s1FKLI04cD2OXDwKVPV2Sqy45a3VzXFOICAqGeoUuS4fnHwIQf3dZDVOt4HTv wM3d3mfU8MImywOiIGm6qy00r8UkUdIsTVeHyvKTnmUAH1fc6chgtqCDl5J+QBodVbyY HElyAWwjvR8tDgEAifVtLROZXkbn58A0gfX3cPWNu3L5PIs3KW2nWDsqiopdK4hmqv9/ iq6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=Ys5UklH+YbK9Z5QjZvCbA5adPRKrSRi3CrtlKVL0sOA=; b=hU146cUsxFmt5FpBrhq1TKPTWgwYIAmPLepDEX+E2G4clE47aSvxHa2TcAAC3pW/96 /3f+7i3sNpbc4EbumbIUFmeQEWK4tT07FMWx2WMW40adOV/LS1WhmH7JV4sxDcEp5pV0 gPGTgcfl7wBDHK44u2sIlkM9dVQq8lJ4hNAlI7Kji7xdmWalVwQvvCEqv5yJopDWuX6a N4FCtRh3Gxmc2ET9+sVbHUtsXOYZ4eLH+1LnRmgsRJvqdz2Lqlx5YuHQ5EVzUaZchC62 z3Tq5PE/V6CWO/E26c6IS4IMmSj57CxKXDpbI0jMDxTjoAzdUd44rr6L3uuevW0Ghu5B njzw== X-Gm-Message-State: ABUngvfPcfcZ5I6PfxrNefqbYJnP/eWP45QNvxRMC4mqV+/+rT2FyaKx5MWB4CD/Goss4A== X-Received: by 10.28.212.17 with SMTP id l17mr9240313wmg.64.1478533591198; Mon, 07 Nov 2016 07:46:31 -0800 (PST) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id u81sm14140473wmu.21.2016.11.07.07.46.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Nov 2016 07:46:30 -0800 (PST) From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Mon, 7 Nov 2016 15:46:28 +0000 Message-Id: <20161107154628.32474-1-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.10.2 MIME-Version: 1.0 Cc: "# v4 . 0+" Subject: [Intel-gfx] [PATCH] drm/i915: Mark CPU cache as dirty when used for rendering X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP On LLC, or even snooped, machines rendering via the GPU ends up in the CPU cache. This cacheline dirt also needs to be flushed to main memory when moving to an incoherent domain, such as the display's scanout engine. Mostly, this happens because either the object is marked as dirty from its first use or is avoided by setting the object into the display domain from the start. Fixes: 0f71979ab7fb ("drm/i915: Performed deferred clflush inside set-cache-level") References: https://bugs.freedesktop.org/show_bug.cgi?id=95414 Signed-off-by: Chris Wilson Cc: Jani Nikula Cc: Ville Syrjälä Cc: # v4.0+ Reviewed-by: Ville Syrjälä --- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index 30f6eb516ca3..30b684fecf09 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c @@ -1282,6 +1282,7 @@ void i915_vma_move_to_active(struct i915_vma *vma, /* update for the implicit flush after a batch */ obj->base.write_domain &= ~I915_GEM_GPU_DOMAINS; + obj->cache_dirty |= obj->cache_level != I915_CACHE_NONE; } if (flags & EXEC_OBJECT_NEEDS_FENCE)