Re: urbs are REFERENCE COUNTED!!! [was Re: [PATCH]generic usb serial driver]

Greg KH <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Mon, Apr 02, 2007 at 09:58:00AM -0400, Alan Stern wrote:
> On Mon, 2 Apr 2007, Greg KH wrote:
> 
> > On Mon, Apr 02, 2007 at 01:05:21AM -0700, David Brownell wrote:
> > > On Sunday 01 April 2007 8:16 pm, Greg KH wrote:
> > > > 
> > > > The way to properly solve this is to just never care about recycling
> > > > urbs.  Look at what the visor driver does as an example of how you can
> > > > just create a new urb for _every_ instance, fire it off, and then forget
> > > > about it.  It gets used and then automatically cleaned up.
> > > 
> > > That can certainly work, and it has the advantages of simplicity.
> > > I wouldn't use that strategy in every driver of course, but I'd
> > > guess it's fine for the serial and usblp cases mentioned here.
> > 
> > Why would you not want it in every driver?  As Oliver is finding out, a
> > lot of these "simple" drivers have races all due to their use of a
> > pre-allocated urb.  For what kind of situation would you feel this would
> > not work?
> 
> You don't need to do it in drivers that run in a single kernel thread, 
> just using the same URB over and over (like usb-storage).  Or in drivers 
> that simply resubmit the same URB from within the completion handler 
> (like khubd).
> 
> The difficulties arise because requests are generated from userspace 
> asynchronously with respect to completions.

Yes, which is usually the majority of the drivers we have :)

thanks,

greg k-h

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.