drm - Fix major stalls by fixing an improper taskqueue priority
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 20 Feb 2017 05:20:46 +0000 (21:20 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Mon, 20 Feb 2017 05:23:04 +0000 (21:23 -0800)
commitacb1fe1aaf0fb3e9d20a6438506c08e3969efbf4
treecf1fd8d4b7ff34db462434bd4633ba20c316e026
parent07ef76e0b8786384a0db17c7293cf2e7835e2bad
drm - Fix major stalls by fixing an improper taskqueue priority

* drm was creating task queues with a LWKT priority of 0, which is
  lower than the priority of a running user thread.

* Fix all cases where improper priorities are passed to
  taskqueue_start_threads().  This fixes major video stalls and glitches
  that occur when other things might be running on the system cpu-bound.

* taskqueue_start_threads() now asserts if the priority passed to it is
  illegal.
sys/dev/drm/include/linux/workqueue.h
sys/dev/drm/radeon/radeon_device.c
sys/dev/drm/ttm/ttm_memory.c
sys/dev/raid/mps/mps_sas.c
sys/dev/raid/mrsas/mrsas_cam.c
sys/kern/subr_taskqueue.c