On Thu, 12 May 2005, Adam Oldham wrote:

> Thanks for the response.
> 
> You're absolutely right in that I muddied up what I
> was asking.
> 
> My issue is that I have a USB ethernet device that is
> incredibly chatty on a simple embedded USB chip. 
> Every frame causes an interrupt, and thus I end up
> with 9000-16000 interrupts per second which degrades
> the system performance drastically.
> 
> Initially, I tried to change the interval via the
> usb_fill_int_urb function, but they gave me no
> reductions in the amount of interrupts I was seeing in
> the host controller's interrupt routine.  So I figured
> this wasn't working, which lead me to the endpoint
> discussion.

That doesn't sound right at all.  Assuming the host controller driver 
doesn't meddle with your choice of interval, the only reason for getting 
interrupts more frequently is if some other USB stream is causing them.

9000-16000 interrupts per second is a lot.  Especially if your device runs
at full speed, which never generates more than 1000 interrupts per second!  
But then you never stated what speed or what sort of USB host controller 
you are using.

Assuming this is indeed high speed, you have to be careful because the 
urb->interval value uses a logarithmic encoding and it refers to 125-us
microframes.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to