Messages in this thread | | | Date | Wed, 15 Feb 2006 14:37:12 -0800 | From | Greg KH <> | Subject | Re: [linux-usb-devel] Re: Linux 2.6.16-rc3 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |