[PATCH v2] gpu: host1x: hw: intr_hw: Remove create_workqueue

Bhaktipriya Shridhar bhaktipriya96 at gmail.com
Tue Jun 28 16:44:29 UTC 2016


Ping!
Thanks,
Bhaktipriya


On Mon, Jun 20, 2016 at 8:41 PM, Tejun Heo <tj at kernel.org> wrote:
> 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 at kernel.org>
>
> Thanks.
>
> --
> tejun


More information about the dri-devel mailing list