]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Allow normal clients to always preempt idle priority clients
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 4 Feb 2019 08:41:05 +0000 (08:41 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 4 Feb 2019 09:47:28 +0000 (09:47 +0000)
commit7c32544437890b849c5c02d380ebc31090c71a56
tree398b01da107941e9dc137df6def8530b11afcf3e
parentc9cb9ce2806559a16fd863a31ff009324fed380f
drm/i915: Allow normal clients to always preempt idle priority clients

When first enabling preemption, we hesitated from making it a free-for-all
where every higher priority client would force a preempt-to-idle cycle
and take over from all lower priority clients. We hesitated because we
were uncertain just how well preemption would work in practice, whether
the preemption latency itself would detract from the latency gains for
higher priority tasks and whether it would work at all. Since
introducing preemption, we have been enabling it for more common tasks,
even giving normal clients a small preemptive boost when they first
start (to aide fairness and improve interactivity). Now lets take one
step further and give permission for all normal (priority:0) clients to
preempt any idle (priority:<0) task so that users running long compute
jobs do not overly impact other jobs (i.e. their desktop) and the system
remains responsive under such idle loads.

References: 07d069ea0d12 ("drm/i915/preemption: Allow preemption between submission ports")
References: 52e6295bf066 ("drm/i915: Priority boost for new clients")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: MichaƂ Winiarski <michal.winiarski@intel.com>
Cc: "Bloomfield, Jon" <jon.bloomfield@intel.com>
Cc: "Stead, Alan" <alan.stead@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190204084116.3013-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_ringbuffer.h