From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com ([134.134.136.24]:2857 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751239AbcGMIIi (ORCPT ); Wed, 13 Jul 2016 04:08:38 -0400 From: Mika Kuoppala To: Daniel Vetter , Chris Wilson Cc: Daniel Vetter , dri-devel@lists.freedesktop.org, Jason Ekstrand , Akash Goel , stable@vger.kernel.org, intel-gfx@lists.freedesktop.org Subject: Re: [Intel-gfx] [PATCH 06/64] drm: Restore double clflush on the last partial cacheline In-Reply-To: <20160712135744.GI23520@phenom.ffwll.local> References: <1467880930-23082-1-git-send-email-chris@chris-wilson.co.uk> <1467880930-23082-6-git-send-email-chris@chris-wilson.co.uk> <20160712135744.GI23520@phenom.ffwll.local> Date: Wed, 13 Jul 2016 11:07:44 +0300 Message-ID: <87wpkqrmen.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: stable-owner@vger.kernel.org List-ID: Daniel Vetter writes: > On Thu, Jul 07, 2016 at 09:41:12AM +0100, Chris Wilson wrote: >> 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 >> Cc: stable@vger.kernel.org >> Reviewed-by: Mika Kuoppala > > It's duct-tape, but oh well. Applied to drm-misc. We were confused how many layers we need. -Mika > -Daniel > >> --- >> drivers/gpu/drm/drm_cache.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/gpu/drm/drm_cache.c b/drivers/gpu/drm/drm_cache.c >> index 059f7c39c582..a7916e5f8864 100644 >> --- a/drivers/gpu/drm/drm_cache.c >> +++ b/drivers/gpu/drm/drm_cache.c >> @@ -136,6 +136,7 @@ drm_clflush_virt_range(void *addr, unsigned long length) >> mb(); >> for (; addr < end; addr += size) >> clflushopt(addr); >> + clflushopt(end - 1); /* force serialisation */ >> mb(); >> return; >> } >> -- >> 2.8.1 >> > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 06/64] drm: Restore double clflush on the last partial cacheline Date: Wed, 13 Jul 2016 11:07:44 +0300 Message-ID: <87wpkqrmen.fsf@intel.com> References: <1467880930-23082-1-git-send-email-chris@chris-wilson.co.uk> <1467880930-23082-6-git-send-email-chris@chris-wilson.co.uk> <20160712135744.GI23520@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160712135744.GI23520@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Chris Wilson Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, stable@vger.kernel.org, Jason Ekstrand , Akash Goel , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cml0ZXM6Cgo+IE9uIFRodSwgSnVsIDA3 LCAyMDE2IGF0IDA5OjQxOjEyQU0gKzAxMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPj4gVGhpcyBl ZmZlY3RpdmVseSByZXZlcnRzCj4+IAo+PiBjb21taXQgYWZjZDk1MGNhZmVhNmUyN2I3MzlmZTc3 NzJjYmJlZWQzN2QwNWI4Ygo+PiBBdXRob3I6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgo+PiBEYXRlOiAgIFdlZCBKdW4gMTAgMTU6NTg6MDEgMjAxNSArMDEwMAo+PiAK Pj4gICAgIGRybTogQXZvaWQgdGhlIGRvdWJsZSBjbGZsdXNoIG9uIHRoZSBsYXN0IGNhY2hlIGxp bmUgaW4gZHJtX2NsZmx1c2hfdmlydF9yYW5nZSgpCj4+IAo+PiBhcyB3ZSBoYXZlIG9ic2VydmVk IGlzc3VlcyB3aXRoIHNlcmlhbGlzYXRpb24gb2YgdGhlIGNsZmx1c2ggb3BlcmF0aW9ucwo+PiBv biBCYXl0cmFpbCsgQXRvbXMgd2l0aCBwYXJ0aWFsIHVwZGF0ZXMuIEFwcGx5aW5nIHRoZSBkb3Vi bGUgZmx1c2ggb24gdGhlCj4+IGxhc3QgY2FjaGVsaW5lIGZvcmNlcyB0aGF0IGNsZmx1c2ggdG8g YmUgb3JkZXJlZCB3aXRoIHJlc3BlY3QgdG8gdGhlCj4+IHByZXZpb3VzIGNsZmx1c2gsIGFuZCB0 aGUgbWZlbmNlIHRoZW4gcHJvdGVjdHMgYWdhaW5zdCBwcmVmZXRjaGVzIGNyb3NzaW5nCj4+IHRo ZSBjbGZsdXNoIGJvdW5kYXJ5Lgo+PiAKPj4gVGhlIHNhbWUgaXNzdWUgY2FuIGJlIGRlbW9uc3Ry YXRlZCBpbiB1c2Vyc3BhY2Ugd2l0aCBpZ3QvZ2VtX2V4ZWNfZmx1c2guCj4+IAo+PiBGaXhlczog YWZjZDk1MGNhZmVhNiAoZHJtOiBBdm9pZCB0aGUgZG91YmxlIGNsZmx1c2ggb24gdGhlIGxhc3Qg Y2FjaGUuLi4pCj4+IFRlc3RjYXNlOiBpZ3QvZ2VtX2NvbmN1cnJlbnRfYmxpdAo+PiBUZXN0Y2Fz ZTogaWd0L2dlbV9wYXJ0aWFsX3ByZWFkX3B3cml0ZQo+PiBCdWd6aWxsYTogaHR0cHM6Ly9idWdz LmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI4NDUKPj4gU2lnbmVkLW9mZi1ieTog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+IENjOiBkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IENjOiBBa2FzaCBHb2VsIDxha2FzaC5nb2VsQGludGVs LmNvbT4KPj4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPj4gQ2M6IERhbmll bCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4+IENjOiBKYXNvbiBFa3N0cmFuZCA8 amFzb24uZWtzdHJhbmRAaW50ZWwuY29tPgo+PiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwo+ PiBSZXZpZXdlZC1ieTogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBpbnRlbC5jb20+Cj4K PiBJdCdzIGR1Y3QtdGFwZSwgYnV0IG9oIHdlbGwuIEFwcGxpZWQgdG8gZHJtLW1pc2MuCgpXZSB3 ZXJlIGNvbmZ1c2VkIGhvdyBtYW55IGxheWVycyB3ZSBuZWVkLgoKLU1pa2EKCj4gLURhbmllbAo+ Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9jYWNoZS5jIHwgMSArCj4+ICAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKykKPj4gCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2NhY2hlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NhY2hlLmMKPj4gaW5kZXggMDU5 ZjdjMzljNTgyLi5hNzkxNmU1Zjg4NjQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fY2FjaGUuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NhY2hlLmMKPj4gQEAgLTEz Niw2ICsxMzYsNyBAQCBkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKHZvaWQgKmFkZHIsIHVuc2lnbmVk IGxvbmcgbGVuZ3RoKQo+PiAgCQltYigpOwo+PiAgCQlmb3IgKDsgYWRkciA8IGVuZDsgYWRkciAr PSBzaXplKQo+PiAgCQkJY2xmbHVzaG9wdChhZGRyKTsKPj4gKwkJY2xmbHVzaG9wdChlbmQgLSAx KTsgLyogZm9yY2Ugc2VyaWFsaXNhdGlvbiAqLwo+PiAgCQltYigpOwo+PiAgCQlyZXR1cm47Cj4+ ICAJfQo+PiAtLSAKPj4gMi44LjEKPj4gCj4KPiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4gU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdm eCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==