lkml.org 
[lkml]   [2018]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] drivers/base: use a worker for sysfs unbind
On Thu, Dec 13, 2018 at 07:09:15PM +0100, Rafael J. Wysocki wrote:
> On Thu, Dec 13, 2018 at 5:25 PM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> >
> > On Thu, Dec 13, 2018 at 5:18 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > >
> > > On Thu, Dec 13, 2018 at 1:36 PM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>
> [cut]
>
> > > > I can do the old code exactly, but afaict the non-NULL parent just
> > > > takes care of the parent bus locking for us, instead of hand-rolling
> > > > it in the caller. But if I missed something, I can easily undo that
> > > > part.
> > >
> > > It is different if device links are present, but I'm not worried about
> > > that case honestly. :-)
> >
> > What would change with device links? We have some cleanup plans to
> > remove our usage for early/late s/r hooks with a device link, to make
> > sure i915 resumes before snd_hda_intel. Digging more into the code I
> > only see the temporary dropping of the parent's device_lock, but I
> > have no idea what that even implies ...
>
> That's just it (which is why I said I was not worried).
>
> Running device_links_unbind_consumers() with the parent lock held may
> deadlock if another child of the same parent also is a consumer of the
> current device (which really is a corner case), but the current code
> has this problem - it goes away with your change.
>
> But dev->bus->need_parent_lock checks are missing in there AFAICS, let
> me cut a patch to fix that.

With your patch before this one, are you ok with mine? Or want me to
respin with a different flavour?

btw threading somehow broke apart, Chris Wilson r-b stamped this one on
intel-gfx:

https://patchwork.freedesktop.org/patch/267220/

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

Thanks, Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

\
 
 \ /
  Last update: 2018-12-17 20:49    [W:0.218 / U:0.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site