iris: Use the BO cache even for coherent buffers on non-LLC.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 26 May 2019 20:03:20 +0000 (13:03 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 30 May 2019 02:40:18 +0000 (19:40 -0700)
We mark snooped BOs as non-reusable, so we never return them to the
cache.  This means that we'd need to call I915_GEM_SET_CACHING to make
any BO we find in the cache snooped.  But then again, any BO we freshly
allocate from the kernel will also be non-snooped, so it has the same
issue.  There's really no reason to skip the cache - we may as well use
it to avoid the I915_GEM_CREATE overhead.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/gallium/drivers/iris/iris_bufmgr.c

index 1845e9898a05e93964e34b7fb6aefa89de74b21f..daf67101be33be6657e8f5d20cf22f3afbab4b34 100644 (file)
@@ -383,9 +383,6 @@ bo_alloc_internal(struct iris_bufmgr *bufmgr,
    /* Round the allocated size up to a power of two number of pages. */
    bucket = bucket_for_size(bufmgr, size);
 
-   if ((flags & BO_ALLOC_COHERENT) && !bufmgr->has_llc)
-      bucket = NULL;
-
    /* If we don't have caching at this size, don't actually round the
     * allocation up.
     */