]> 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)
commitdc6629c7f22d6b9695764a25cf1a1bd7b4b98291
tree398b01da107941e9dc137df6def8530b11afcf3e
parentfa40889e5e136562788aece7b8dc496a276d9ad6
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: d30df2bffe5a ("drm/i915/preemption: Allow preemption between submission ports")
References: 0f4e6cfbf1ac ("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