> IMHO draining the pool about 50% and then refill it in
> one go would be much more efficient.

The pool doesn't change the efficiency.  At all.  I tested the driver
with and without rx skb cache and there was no difference.  Looks like
the bottleneck is in the usb bus itself, not in the memory allocation.
I introduced the pool mainly to reduce the time spend in interrupt.

> 2. You cannot assume that submission in the tasklet will work
> if it failed in the completion handler. In fact the opposite is likely.

I am not assuming this.  If submission fail the status will be checked
next time the tasklet run and resubmit it if needed.  The current
algorithm relys on uncoditional tasklet_schedule() based on the
assumption the time spend in the tasklet is minimal.

> 3. The handling for errors in urb->status in the rx path looks fishy.

I have no idea what -ENOENTRY means.  I can either ignore it or read
the code and see what it is supposed to mean.

> 4. Where is the handling for unlinking the urb in the completion handler ?

It's in the todo list... :-)


                Petko


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to