> 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