mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 06:43:06 +07:00
cd30a50317
One does not lightly add a new hidden struct_mutex dependency deep within the execbuf bowels! The immediate suspicion in seeing the whitelist cached on the context, is that it is intended to be preserved between batches, as the kernel is quite adept at caching small allocations itself. But no, it's sole purpose is to serialise command submission in order to save a kmalloc on a slow, slow path! By removing the whitelist dependency from the context, our freedom to chop the big struct_mutex is greatly augmented. v2: s/set_bit/__set_bit/ as the whitelist shall never be accessed concurrently. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191128113424.3885958-1-chris@chris-wilson.co.uk |
||
---|---|---|
.. | ||
selftests | ||
i915_gem_busy.c | ||
i915_gem_clflush.c | ||
i915_gem_clflush.h | ||
i915_gem_client_blt.c | ||
i915_gem_client_blt.h | ||
i915_gem_context_types.h | ||
i915_gem_context.c | ||
i915_gem_context.h | ||
i915_gem_dmabuf.c | ||
i915_gem_domain.c | ||
i915_gem_execbuffer.c | ||
i915_gem_fence.c | ||
i915_gem_internal.c | ||
i915_gem_ioctls.h | ||
i915_gem_lmem.c | ||
i915_gem_lmem.h | ||
i915_gem_mman.c | ||
i915_gem_object_blt.c | ||
i915_gem_object_blt.h | ||
i915_gem_object_types.h | ||
i915_gem_object.c | ||
i915_gem_object.h | ||
i915_gem_pages.c | ||
i915_gem_phys.c | ||
i915_gem_pm.c | ||
i915_gem_pm.h | ||
i915_gem_region.c | ||
i915_gem_region.h | ||
i915_gem_shmem.c | ||
i915_gem_shrinker.c | ||
i915_gem_shrinker.h | ||
i915_gem_stolen.c | ||
i915_gem_stolen.h | ||
i915_gem_throttle.c | ||
i915_gem_tiling.c | ||
i915_gem_userptr.c | ||
i915_gem_wait.c | ||
i915_gemfs.c | ||
i915_gemfs.h | ||
Makefile |