diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2020-04-02 19:40:37 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2020-04-03 15:20:03 +0100 |
commit | 43acd6516ca970c7a1d9d4e3e1d85bf570abc190 (patch) | |
tree | d012de118b2b9c058ee7cdebf705b96fc3851782 /drivers/gpu/drm/i915/i915_utils.c | |
parent | 63d0f3ea8ebb67160eca281320d255c72b0cb51a (diff) | |
download | linux-43acd6516ca970c7a1d9d4e3e1d85bf570abc190.tar.gz linux-43acd6516ca970c7a1d9d4e3e1d85bf570abc190.tar.bz2 linux-43acd6516ca970c7a1d9d4e3e1d85bf570abc190.zip |
drm/i915: Keep a per-engine request pool
Add a tiny per-engine request mempool so that we should always have a
request available for powermanagement allocations from tricky
contexts. This reserve is expected to be only used for kernel
contexts when barriers must be emitted [almost] without fail.
The main consumer for this reserved request is expected to be engine-pm,
for which we know that there will always be at least the previous pm
request that we can reuse under mempressure (so there should always be
a spare request for engine_park()).
This is an alternative to using a comparatively bulky mempool, which
requires custom handling for both our reserved allocation requirement
and to protect our TYPESAFE_BY_RCU slab cache. The advantage of mempool
would be that it would allow us to keep a larger per-engine request
pool. However, converting over to mempool is straightforward should the
need arise.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-and-tested-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200402184037.21630-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_utils.c')
0 files changed, 0 insertions, 0 deletions