OSDN Git Service

drm/i915/shmem: ensure flush during swap-in on non-LLC
authorMatthew Auld <matthew.auld@intel.com>
Mon, 18 Oct 2021 17:45:05 +0000 (18:45 +0100)
committerMatthew Auld <matthew.auld@intel.com>
Wed, 20 Oct 2021 15:50:22 +0000 (16:50 +0100)
commitd70af57944a1593f2cd6f94b7eb29fae97929953
treec348cbf34436bd7777b4fedca5e9db36eb4527dc
parent63430347713a5ba48617687cc8b2aa1f01514432
drm/i915/shmem: ensure flush during swap-in on non-LLC

On non-LLC platforms, force the flush-on-acquire if this is ever
swapped-in. Our async flush path is not trust worthy enough yet(and
happens in the wrong order), and with some tricks it's conceivable for
userspace to change the cache-level to I915_CACHE_NONE after the pages
are swapped-in, and since execbuf binds the object before doing the
async flush, there is a potential race window.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211018174508.2137279-6-matthew.auld@intel.com
drivers/gpu/drm/i915/gem/i915_gem_shmem.c