Chris Wilson 43acd6516c 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
2020-04-03 15:20:03 +01:00
..
2020-02-21 05:44:40 +10:00
2020-01-20 11:42:57 +10:00
2020-01-30 08:04:01 -08:00
2020-01-30 08:04:01 -08:00
2020-02-21 05:44:40 +10:00
2020-02-21 05:44:40 +10:00
2020-01-03 11:43:44 +10:00
2020-01-20 11:42:57 +10:00
2020-02-14 12:57:57 +10:00
2020-02-21 05:44:40 +10:00
2020-02-21 05:44:40 +10:00
2020-02-21 05:44:40 +10:00
2020-02-21 05:44:40 +10:00
2020-01-30 08:04:01 -08:00
2020-02-14 12:53:00 +10:00
2020-02-07 12:22:30 +10:00
2020-01-30 08:04:01 -08:00
2020-02-21 05:44:40 +10:00
2019-12-18 16:09:12 -05:00
2020-02-21 05:44:40 +10:00
2020-02-21 05:44:40 +10:00
2020-01-14 16:22:17 -05:00
2019-10-08 18:29:00 +02:00
2020-02-06 22:01:40 +02:00
2020-01-20 11:42:57 +10:00
2020-01-14 16:22:17 -05:00
2019-12-17 13:57:54 +01:00
2019-07-22 21:24:10 +02:00
2020-01-14 16:22:17 -05:00