Message ID | 1462203651-26457-1-git-send-email-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, May 02, 2016 at 04:24:30PM -0000, Patchwork wrote: > == Series Details == > > Series: drm: Restore double clflush on the last partial cacheline (rev2) > URL : https://patchwork.freedesktop.org/series/6573/ > State : failure > > == Summary == > > Series 6573v2 drm: Restore double clflush on the last partial cacheline > http://patchwork.freedesktop.org/api/1.0/series/6573/revisions/2/mbox/ > > Test gem_exec_flush: > Subgroup basic-uc-prw-default: > fail -> PASS (bsw-nuc-2) > Subgroup basic-uc-rw-default: > fail -> PASS (bsw-nuc-2) Hmm, this should have impacted pro/prw/set as well as -interuptible variants. I guess some of those are too new to have baselines yet. Plain old rw should not be affected by the kernel, hopefully it is just the baseline is older than the userspace w/a. Hopefully with the baseline reset overnight, we should see a more complete set of results. -Chris
On Mon, May 02, 2016 at 05:32:53PM +0100, Chris Wilson wrote: > On Mon, May 02, 2016 at 04:24:30PM -0000, Patchwork wrote: > > == Series Details == > > > > Series: drm: Restore double clflush on the last partial cacheline (rev2) > > URL : https://patchwork.freedesktop.org/series/6573/ > > State : failure > > > > == Summary == > > > > Series 6573v2 drm: Restore double clflush on the last partial cacheline > > http://patchwork.freedesktop.org/api/1.0/series/6573/revisions/2/mbox/ > > > > Test gem_exec_flush: > > Subgroup basic-uc-prw-default: > > fail -> PASS (bsw-nuc-2) > > Subgroup basic-uc-rw-default: > > fail -> PASS (bsw-nuc-2) > > Hmm, this should have impacted pro/prw/set as well as -interuptible > variants. I guess some of those are too new to have baselines yet. It should also be effective for byt... -Chris
diff --git a/drivers/gpu/drm/drm_cache.c b/drivers/gpu/drm/drm_cache.c index 6743ff7dccfa..7f4a6c550319 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; }