linux-hardened/drivers/gpu/drm/qxl
Bhaktipriya Shridhar 7b2d16f55c drm/qxl: Remove deprecated create_singlethread_workqueue
System workqueues have been able to handle high level of concurrency
for a long time now and there's no reason to use dedicated workqueues
just to gain concurrency. Since the workqueue in the QXL graphics device
driver is involved in freeing and processing the release ring
(workitem &qdev->gc_workqxl, maps to gc_work which calls
qxl_garbage_collect) and is not being used on a memory reclaim path,
dedicated gc_queue has been replaced with the use of system_wq.

Unlike a dedicated per-cpu workqueue created with create_workqueue(),
system_wq allows multiple work items to overlap executions even on
the same CPU; however, a per-cpu workqueue doesn't have any CPU
locality or global ordering guarantees unless the target CPU is
explicitly specified and thus the increase of local concurrency
shouldn't make any difference.

flush_work() has been called in qxl_device_fini() to ensure that there
are no pending tasks while disconnecting the driver.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20160702110209.GA3560@Karyakshetra
2016-07-12 14:44:23 +02:00
..
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-01-22 21:21:55 -08:00
Makefile drm/qxl: enables gem prime helpers for qxl using dummy driver callbacks 2014-09-03 15:36:52 +10:00
qxl_cmd.c drm/qxl: Remove deprecated create_singlethread_workqueue 2016-07-12 14:44:23 +02:00
qxl_debugfs.c drm/qxl: Remove release_lock stupidity 2014-09-03 17:09:11 +02:00
qxl_dev.h
qxl_display.c drm/qxl: use drm_crtc_vblank_{get,put}() 2016-06-06 18:04:24 +02:00
qxl_draw.c qxl: convert qxl driver to proper use for reservations 2013-07-24 11:58:10 +10:00
qxl_drv.c drm/qxl: Use lockless gem BO free callback 2016-06-01 09:40:42 +02:00
qxl_drv.h drm/qxl: Remove deprecated create_singlethread_workqueue 2016-07-12 14:44:23 +02:00
qxl_dumb.c drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
qxl_fb.c drm/qxl: Remove useless drm_fb_get_bpp_depth() call 2016-06-07 21:40:52 +02:00
qxl_gem.c drm/qxl: Move main reference counter to GEM object instead of TTM ones 2015-06-05 11:00:51 +10:00
qxl_image.c qxl: convert qxl driver to proper use for reservations 2013-07-24 11:58:10 +10:00
qxl_ioctl.c drm: Remove unused drm_device from drm_gem_object_lookup() 2016-05-17 08:47:30 +02:00
qxl_irq.c drm/qxl: return IRQ_NONE if it was not our irq 2014-07-17 08:08:06 +10:00
qxl_kms.c drm/qxl: Remove deprecated create_singlethread_workqueue 2016-07-12 14:44:23 +02:00
qxl_object.c drm/qxl: use to_qxl_bo macro 2015-12-15 13:39:40 +01:00
qxl_object.h drm/ttm: remove lazy parameter from ttm_bo_wait 2016-05-04 20:21:26 -04:00
qxl_prime.c drm/qxl: fix erroneous return value 2016-02-17 15:39:35 +10:00
qxl_release.c dma-buf/fence: make fence context 64 bit v2 2016-06-02 08:27:41 +02:00
qxl_ttm.c drm/ttm: implement LRU add callbacks v2 2016-05-04 20:21:38 -04:00