• Bhaktipriya Shridhar's avatar
    fbdev: Remove deprecated create_singlethread_workqueue · 71668292
    Bhaktipriya Shridhar authored
    The workqueue "esd_wq" has only a single workitem(&md->esd_work)
    and hence doesn't require ordering. Also, it is not being used on a
    memory reclaim path. Hence, the singlethreaded workqueue has been
    replaced with the use of system_wq.
    
    System workqueues have been able to handle high level of concurrency
    for a long time now and hence it's not required to have a singlethreaded
    workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue
    created with create_singlethread_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
    guarantee unless the target CPU is explicitly specified and thus the
    increase of local concurrency shouldn't make any difference.
    
    mipid_esd_stop_check () calls cancel_delayed_work() in mipid_cleanup()
    to ensure that there are no pending tasks while disconnecting the driver.
    Signed-off-by: default avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
    Acked-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    71668292
lcd_mipid.c 13.3 KB