[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160702134417.GA17431@htj.duckdns.org>
Date: Sat, 2 Jul 2016 09:44:17 -0400
From: Tejun Heo <tj@...nel.org>
To: Bhaktipriya Shridhar <bhaktipriya96@...il.com>
Cc: Dave Airlie <airlied@...hat.com>, David Airlie <airlied@...ux.ie>,
Alex Deucher <alexander.deucher@....com>,
Sinclair Yeh <syeh@...are.com>,
Christian König <christian.koenig@....com>,
Daniel Vetter <daniel.vetter@...ll.ch>,
Jonathon Jongsma <jjongsma@...hat.com>,
Jani Nikula <jani.nikula@...el.com>,
John Keeping <john@...anate.com>,
Ville Syrjälä
<ville.syrjala@...ux.intel.com>,
Noralf Trønnes <noralf@...nnes.org>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/qxl: Remove deprecated create_singlethread_workqueue
On Sat, Jul 02, 2016 at 04:32:09PM +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 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@...il.com>
Acked-by: Tejun Heo <tj@...nel.org>
Thanks.
--
tejun
Powered by blists - more mailing lists