From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 4.4 088/138] drm: Restore double clflush on the last partial cacheline Date: Thu, 18 Aug 2016 15:58:18 +0200 Message-ID: <20160818135606.143392366@linuxfoundation.org> References: <20160818135553.377018690@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 888756EA60 for ; Thu, 18 Aug 2016 14:06:53 +0000 (UTC) In-Reply-To: <20160818135553.377018690@linuxfoundation.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , dri-devel@lists.freedesktop.org, Jason Ekstrand , Akash Goel , stable@vger.kernel.org, Daniel Vetter , Mika Kuoppala List-Id: dri-devel@lists.freedesktop.org NC40LXN0YWJsZSByZXZpZXcgcGF0Y2guICBJZiBhbnlvbmUgaGFzIGFueSBvYmplY3Rpb25zLCBw bGVhc2UgbGV0IG1lIGtub3cuCgotLS0tLS0tLS0tLS0tLS0tLS0KCkZyb206IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKY29tbWl0IDM5NmY1ZDYyZDFhNWZkOTk0MjE4 NTVhMDhmZmRlZjhlZGI0M2M3NmUgdXBzdHJlYW0uCgpUaGlzIGVmZmVjdGl2ZWx5IHJldmVydHMK CmNvbW1pdCBhZmNkOTUwY2FmZWE2ZTI3YjczOWZlNzc3MmNiYmVlZDM3ZDA1YjhiCkF1dGhvcjog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkRhdGU6ICAgV2VkIEp1biAx MCAxNTo1ODowMSAyMDE1ICswMTAwCgogICAgZHJtOiBBdm9pZCB0aGUgZG91YmxlIGNsZmx1c2gg b24gdGhlIGxhc3QgY2FjaGUgbGluZSBpbiBkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKCkKCmFzIHdl IGhhdmUgb2JzZXJ2ZWQgaXNzdWVzIHdpdGggc2VyaWFsaXNhdGlvbiBvZiB0aGUgY2xmbHVzaCBv cGVyYXRpb25zCm9uIEJheXRyYWlsKyBBdG9tcyB3aXRoIHBhcnRpYWwgdXBkYXRlcy4gQXBwbHlp bmcgdGhlIGRvdWJsZSBmbHVzaCBvbiB0aGUKbGFzdCBjYWNoZWxpbmUgZm9yY2VzIHRoYXQgY2xm bHVzaCB0byBiZSBvcmRlcmVkIHdpdGggcmVzcGVjdCB0byB0aGUKcHJldmlvdXMgY2xmbHVzaCwg YW5kIHRoZSBtZmVuY2UgdGhlbiBwcm90ZWN0cyBhZ2FpbnN0IHByZWZldGNoZXMgY3Jvc3NpbmcK dGhlIGNsZmx1c2ggYm91bmRhcnkuCgpUaGUgc2FtZSBpc3N1ZSBjYW4gYmUgZGVtb25zdHJhdGVk IGluIHVzZXJzcGFjZSB3aXRoIGlndC9nZW1fZXhlY19mbHVzaC4KCkZpeGVzOiBhZmNkOTUwY2Fm ZWE2IChkcm06IEF2b2lkIHRoZSBkb3VibGUgY2xmbHVzaCBvbiB0aGUgbGFzdCBjYWNoZS4uLikK VGVzdGNhc2U6IGlndC9nZW1fY29uY3VycmVudF9ibGl0ClRlc3RjYXNlOiBpZ3QvZ2VtX3BhcnRp YWxfcHJlYWRfcHdyaXRlCkJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3No b3dfYnVnLmNnaT9pZD05Mjg0NQpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKQ2M6 IEFrYXNoIEdvZWwgPGFrYXNoLmdvZWxAaW50ZWwuY29tPgpDYzogSW1yZSBEZWFrIDxpbXJlLmRl YWtAaW50ZWwuY29tPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4K Q2M6IEphc29uIEVrc3RyYW5kIDxqYXNvbi5la3N0cmFuZEBpbnRlbC5jb20+ClJldmlld2VkLWJ5 OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KTGluazogaHR0cDovL3BhdGNo d29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMTQ2Nzg4MDkzMC0yMzA4Mi02LWdpdC1z ZW5kLWVtYWlsLWNocmlzQGNocmlzLXdpbHNvbi5jby51awpTaWduZWQtb2ZmLWJ5OiBHcmVnIEty b2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgoKLS0tCiBkcml2ZXJzL2dw dS9kcm0vZHJtX2NhY2hlLmMgfCAgICAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KQoKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jYWNoZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY2FjaGUuYwpAQCAtMTM2LDYgKzEzNiw3IEBAIGRybV9jbGZsdXNoX3ZpcnRfcmFuZ2Uo dm9pZCAqYWRkciwgdW5zaWcKIAkJbWIoKTsKIAkJZm9yICg7IGFkZHIgPCBlbmQ7IGFkZHIgKz0g c2l6ZSkKIAkJCWNsZmx1c2hvcHQoYWRkcik7CisJCWNsZmx1c2hvcHQoZW5kIC0gMSk7IC8qIGZv cmNlIHNlcmlhbGlzYXRpb24gKi8KIAkJbWIoKTsKIAkJcmV0dXJuOwogCX0KCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1950245AbcHROHZ (ORCPT ); Thu, 18 Aug 2016 10:07:25 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:36471 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1767527AbcHROGy (ORCPT ); Thu, 18 Aug 2016 10:06:54 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chris Wilson , dri-devel@lists.freedesktop.org, Akash Goel , Imre Deak , Daniel Vetter , Jason Ekstrand , Mika Kuoppala Subject: [PATCH 4.4 088/138] drm: Restore double clflush on the last partial cacheline Date: Thu, 18 Aug 2016 15:58:18 +0200 Message-Id: <20160818135606.143392366@linuxfoundation.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20160818135553.377018690@linuxfoundation.org> References: <20160818135553.377018690@linuxfoundation.org> User-Agent: quilt/0.64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Chris Wilson commit 396f5d62d1a5fd99421855a08ffdef8edb43c76e upstream. This effectively reverts commit afcd950cafea6e27b739fe7772cbbeed37d05b8b Author: Chris Wilson Date: Wed Jun 10 15:58:01 2015 +0100 drm: Avoid the double clflush on the last cache line in drm_clflush_virt_range() as we have observed issues with serialisation of the clflush operations on Baytrail+ Atoms with partial updates. Applying the double flush on the last cacheline forces that clflush to be ordered with respect to the previous clflush, and the mfence then protects against prefetches crossing the clflush boundary. The same issue can be demonstrated in userspace with igt/gem_exec_flush. Fixes: afcd950cafea6 (drm: Avoid the double clflush on the last cache...) Testcase: igt/gem_concurrent_blit Testcase: igt/gem_partial_pread_pwrite Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92845 Signed-off-by: Chris Wilson Cc: dri-devel@lists.freedesktop.org Cc: Akash Goel Cc: Imre Deak Cc: Daniel Vetter Cc: Jason Ekstrand Reviewed-by: Mika Kuoppala Signed-off-by: Daniel Vetter Link: http://patchwork.freedesktop.org/patch/msgid/1467880930-23082-6-git-send-email-chris@chris-wilson.co.uk Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/drm_cache.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/gpu/drm/drm_cache.c +++ b/drivers/gpu/drm/drm_cache.c @@ -136,6 +136,7 @@ drm_clflush_virt_range(void *addr, unsig mb(); for (; addr < end; addr += size) clflushopt(addr); + clflushopt(end - 1); /* force serialisation */ mb(); return; }