Re: [linux-usb-devel] Re: Linux 2.6.16-rc3

From: Greg KH
Date: Wed Feb 15 2006 - 17:35:16 EST


On Wed, Feb 15, 2006 at 05:25:37PM -0500, Alan Stern wrote:
> On Wed, 15 Feb 2006, Greg KH wrote:
>
> > On Wed, Feb 15, 2006 at 04:52:43PM -0500, Alan Stern wrote:
> > > On Wed, 15 Feb 2006, Greg KH wrote:
> > >
> > > > On Wed, Feb 15, 2006 at 05:35:08PM +0100, Arjan van de Ven wrote:
> > > > > On Wed, 2006-02-15 at 08:27 -0800, Greg KH wrote:
> > > > > >
> > > > > > Nah, I don't think it's a good idea. James's patch should work just
> > > > > > fine.
> > > > >
> > > > > another option is to have a "kill list" which you put the thing on, and
> > > > > then wake up a thread. only 2 pointers in the object ;(
> > > >
> > > > Hm, that's almost what James's patch is trying to do. Care to mock up a
> > > > patch that shows this? It might be a simpler solution.
> > >
> > > It won't work. You might have to do 2 put_device calls on the same
> > > structure. That's why I suggested the "pending puts" counter; something
> > > can't go on a list more than once.
> >
> > It would only go on the list if the "put" was the last one. Otherwise
> > it would not make any sense to put it on any list.
>
> There's no way to know whether or not any particular "put" is the last
> one. So you have to assume they all are.

The underlying kobject can "know" that the put was the last one, and
handle it differently if needed. Yes, it would not use a kref anymore,
but that might be needed here.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/