]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Move the batch buffer pool from the engine to the gt
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 30 Apr 2020 11:18:12 +0000 (12:18 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 30 Apr 2020 18:12:02 +0000 (19:12 +0100)
commit7b9d144b2c5c07a3baf19a0481db66c4e9f2d858
treea8b688c6230e6bcd19fbd74f6bc79af925532b27
parent220629ee873e4330f0ebc17291f2b5e9afee1bc6
drm/i915/gt: Move the batch buffer pool from the engine to the gt

Since the introduction of 'soft-rc6', we aim to park the device quickly
and that results in frequent idling of the whole device. Currently upon
idling we free the batch buffer pool, and so this renders the cache
ineffective for many workloads. If we want to have an effective cache of
recently allocated buffers available for reuse, we need to decouple that
cache from the engine powermanagement and make it timer based. As there
is no reason then to keep it within the engine (where it once made
retirement order easier to track), we can move it up the hierarchy to the
owner of the memory allocations.

v2: Hook up to debugfs/drop_caches to clear the cache on demand.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200430111819.10262-2-chris@chris-wilson.co.uk
18 files changed:
drivers/gpu/drm/i915/Makefile
drivers/gpu/drm/i915/gem/i915_gem_client_blt.c
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
drivers/gpu/drm/i915/gem/i915_gem_object_blt.c
drivers/gpu/drm/i915/gem/i915_gem_object_blt.h
drivers/gpu/drm/i915/gt/intel_engine_cs.c
drivers/gpu/drm/i915/gt/intel_engine_pm.c
drivers/gpu/drm/i915/gt/intel_engine_pool.c [deleted file]
drivers/gpu/drm/i915/gt/intel_engine_pool.h [deleted file]
drivers/gpu/drm/i915/gt/intel_engine_pool_types.h [deleted file]
drivers/gpu/drm/i915/gt/intel_engine_types.h
drivers/gpu/drm/i915/gt/intel_gt.c
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c [new file with mode: 0644]
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.h [new file with mode: 0644]
drivers/gpu/drm/i915/gt/intel_gt_buffer_pool_types.h [new file with mode: 0644]
drivers/gpu/drm/i915/gt/intel_gt_types.h
drivers/gpu/drm/i915/gt/mock_engine.c
drivers/gpu/drm/i915/i915_debugfs.c