Am Sonntag, 11. Juli 2004 05:08 schrieb David Brownell:
> Oliver Neukum wrote:
>
> > That tells us the there is a multitude of operations that need locking.
> > Not that these operations are common. Maybe except usbfs. Wouldn't
> > usbfs be happy with down_read()?
>
> The issue was whether providing one "global" mutex could do the
> whole job, I thought.
>
> Consider: one userspace program would be able to issue a read
> (or write) on an endpoint that's NAKing. That can take weeks to
> complete. It would then make khubd wait for weeks (*) ... to
> notice that you plugged in a keyboard to help kill that read!
>
> Loosen that to a single global rwsem. Now one problem is that
> it would take those weeks before some other application could
> register+use a new driver module (not a usbfs issue). Hmm ... (**)
These are important issues. But I don't think that you can avoid them
entirely if you need a multidevice form of locking.
As you cannot reset a hub without its children, anybody holding a lock
could prevent it. By finer graining of locking you can certainly decrease
likelihood, but you cannot prevent it. It seems to me that unbounded
waiting with a common lock held is a bug. So it seems to me that this
is sort of jumping to conclusions.
Regards
Oliver
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel