]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Priority boost for new clients
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 1 Oct 2018 14:47:53 +0000 (15:47 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 1 Oct 2018 19:34:19 +0000 (20:34 +0100)
commit0f4e6cfbf1ace5ec90c2d537bb33cec2bc141447
tree4d40534af04067fbe590fbc25e0d6d221e3f7aa3
parent24909e21047f1292105024299edd658d9a166e8a
drm/i915: Priority boost for new clients

Taken from an idea used for FQ_CODEL, we give the first request of a
new request flows a small priority boost. These flows are likely to
correspond with short, interactive tasks and so be more latency sensitive
than the longer free running queues. As soon as the client has more than
one request in the queue, further requests are not boosted and it settles
down into ordinary steady state behaviour.  Such small kicks dramatically
help combat the starvation issue, by allowing each client the opportunity
to run even when the system is under heavy throughput load (within the
constraints of the user selected priority).

v2: Mark the preempted request as the start of a new flow, to prevent a
single client being continually gazumped by its peers.

Testcase: igt/benchmarks/rrul
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>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181001144755.7978-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_request.c
drivers/gpu/drm/i915/i915_scheduler.h
drivers/gpu/drm/i915/intel_lrc.c