Messages in this thread | | | Date | Mon, 12 Feb 2018 09:07:47 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH 1/5] workqueue: Allow retrieval of current task's work struct |
| |
Hello,
On Sun, Feb 11, 2018 at 10:38:28AM +0100, Lukas Wunner wrote: > Introduce a helper to retrieve the current task's work struct if it is > a workqueue worker. > > This allows us to fix a long-standing deadlock in several DRM drivers > wherein the ->runtime_suspend callback waits for a specific worker to > finish and that worker in turn calls a function which waits for runtime > suspend to finish. That function is invoked from multiple call sites > and waiting for runtime suspend to finish is the correct thing to do > except if it's executing in the context of the worker. > > Cc: Tejun Heo <tj@kernel.org> > Cc: Lai Jiangshan <jiangshanlai@gmail.com> > Cc: Dave Airlie <airlied@redhat.com> > Cc: Ben Skeggs <bskeggs@redhat.com> > Cc: Alex Deucher <alexander.deucher@amd.com> > Signed-off-by: Lukas Wunner <lukas@wunner.de>
I wonder whether it's too generic a name but there are other functions named in a similar fashion and AFAICS current_work isn't used by anyone in the tree, so it seems okay.
Acked-by: Tejun Heo <tj@kernel.org>
Please feel free to route as you see fit.
Thanks.
-- tejun
| |