Comment 59 for bug 709245

Revision history for this message
Emeric Vigier (emeric-vigier) wrote :

Ming Lei,

Delay between URB submission and call-back for a given URB is huge indeed...
My hardware (panda rev A3) is fine: linaro-12.05 (kernel-3.4) and linaro-11.09's ethernet works just fine.
My aosp kernel is "based" on kernel-3.0.8 but has wide differences with linaro-11.09 (3.1) kernel, starting with PM_RUNTIME support.

I ran the mass storage test on a Kingston DT mini-fun 4GB usb stick, featuring one ext3 partition. On my panda, I ran:
# mount -o remount,rw /
# mkdir /mnt/msd
# mount -t ext3 /dev/block/sda1 /mnt/msd

# sync && echo 3 > /proc/sys/vm/drop_caches
# busybox dd bs=1M count=16 if=/dev/zero of=/mnt/msd/16MB-file conv=fsync conv=notrunc
16777216 bytes (16.0MB) copied, 144.580627 seconds, 113.3KB/s

# sync && echo 3 > /proc/sys/vm/drop_caches
# busybox dd bs=16M count=1 if=/dev/zero of=/mnt/msd/16MB-file conv=fsync conv=notrunc
16777216 bytes (16.0MB) copied, 137.893890 seconds, 118.8KB/s

Then I assume issue is in ehci stack, not the net stack.
Running "top" shows the cpus are "mostly" idle during the transfer.

I ran usbmon before pluging the usb stick, mounting the FS, and starting the transfer. I interrupted it few seconds after transfer started.
# cat /sys/kernel/debug/usb/usbmon/1u > /sdcard/1.mon.out.20
http://paste.ubuntu.com/1084832/

dmesg:
http://paste.ubuntu.com/1084838/

T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0930 ProdID=6545 Rev= 1.00
S: Manufacturer=Kingston
S: Product=DT Mini Fun G2
S: SerialNumber=0060E049DF6FEB9080000883
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0m