[fedora-arm] smsc95xx performance bug: eth vs usb

Andrew Burgess aab at cichlid.com
Mon Jun 20 14:16:05 UTC 2011


On 06/06/2011 02:37:20 PM, DJ Delorie wrote:

how's it going with this?

> I put tcpdump traces here:
> 
> http://www.delorie.com/tmp/usb-yes-pings.gz
> http://www.delorie.com/tmp/usb-no-pings.gz
> http://www.delorie.com/tmp/lsusb.txt
> 
> (my panda doesn't have /proc/bus/usb for some reason)

it's deprecated but very handy (usbview uses it)
you enable it in the kernel config in the usb section

> Note: I also have a USB protocol analyzer (www.totalphase.com) which I
> can do wire-level USB dumps from, if that would help.  They're *big*
> though.

did you ever look at /proc/interrupts and see if the numbers are  
increasing?

i ask because i'm chasing a problem now of the kernel disabling  
interrupts
on my pcie usb card (i7 not arm) because the kernel abruptly gets alot  
(100K) of
interrupts and can't find a driver to admit to owning them so it
disables that interrupt and sets up a polling timer. the default timer
rate is HZ/10 which is 100msec on my system and results in horrible
performance. when i change it to a 10 msec poll i can barely tell
there's a problem.

anyway the upshot is check your logs for "kernel: irq NN: nobody cared".
this means that this interrupt has been switched off and
replaced with polling. i'm pretty sure the number in /proc/interrupts
stops changing (i can't look now because it hasn't failed today yet)

hth


More information about the arm mailing list