drm/i915: Queue page flip work via a low latency, unbound workqueue
authorImre Deak <imre.deak@intel.com>
Tue, 20 Sep 2016 11:58:19 +0000 (14:58 +0300)
committerImre Deak <imre.deak@intel.com>
Wed, 21 Sep 2016 13:40:57 +0000 (16:40 +0300)
commit6277c8d07b8f1b667f672628f88b18e831e67517
treedfbe2c4f690ebc0b38f644f4809283ee25ca716e
parentf9e613728090e7fe4e755bf56df17cbc277bac3f
drm/i915: Queue page flip work via a low latency, unbound workqueue

While user space has control over the scheduling priority of its page
flipping thread, the corresponding work the driver schedules for MMIO
flips always runs from the generic system workqueue which has some
scheduling overhead due it being CPU bound. This would hinder an
application that wants more stringent guarantees over flip timing (to
avoid missing a flip at the next frame count).

Fix this by scheduling the work from the unbound system workqueue
which provides for minimal scheduling latency.

v2:
- Use an unbound workqueue instead of a high-prio one. (Tvrtko, Chris)
v3:
- Use the system unbound wq instead of a dedicated one. (Maarten)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97775
Testcase: igt/kms_cursor_legacy
CC: Chris Wilson <chris@chris-wilson.co.uk>
CC: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
CC: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> (v1)
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1474372699-22841-1-git-send-email-imre.deak@intel.com
drivers/gpu/drm/i915/intel_display.c