lkml.org 
[lkml]   [2016]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2] gpu: host1x: hw: intr_hw: Remove create_workqueue
    On Sat, Jun 18, 2016 at 02:36:32PM +0530, Bhaktipriya Shridhar wrote:
    > 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 host->intr_wq is involved
    > in sync point interrupts, and sync point wait and is not being used on
    > a memory reclaim path, dedicated host->intr_wq 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.
    >
    > cancel_work_sync() has been used in _host1x_free_syncpt_irq() to ensure
    > that no work is pending by the time exit path runs.

    Alternatively, this could have used alloc_workqueue() w/o
    WQ_MEM_RECLAIM and used it just as a flush domain. Either way is
    fine.

    Acked-by: Tejun Heo <tj@kernel.org>

    Thanks.

    --
    tejun

    \
     
     \ /
      Last update: 2016-06-20 18:01    [W:3.050 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site