Hello all, I have recently faced a performance problem with usb gadget emulated USB flash drive. It is working fine except for very low performance. I use a 4Gb file, created by dd and created a ext2 or vfat (tried both) partition on it. Than I mount it using the following command sequence: ------------------------------ # modprobe dummy_hcd is_super_speed=1 # I tried is_high_speed=1, and no parameter too # modprobe g_mass_storage file=/home/del/img/flash stall=0 # tried w/o stall=0 too # mount /dev/sdc1 /mnt/tmp ------------------------------ After that I get /dev/sdc and /dev/sdc1 devices created without any errors in dmesg: ------------------------------ [1256700.986581] usb 3-1: reset high-speed USB device number 5 using dummy_hcd [1256701.022551] gadget: high-speed config #1: Linux File-Backed Storage [1256701.242481] usb 3-1: reset high-speed USB device number 5 using dummy_hcd [1256701.278422] gadget: high-speed config #1: Linux File-Backed Storage [1256701.422339] gadget: high-speed config #1: Linux File-Backed Storage [1256934.915697] usb 3-1: reset high-speed USB device number 5 using dummy_hcd [1256934.951628] gadget: high-speed config #1: Linux File-Backed Storage [1256935.915155] usb 3-1: reset high-speed USB device number 5 using dummy_hcd [1256935.951090] gadget: high-speed config #1: Linux File-Backed Storage [1256936.095018] gadget: high-speed config #1: Linux File-Backed Storage [1317073.396892] usb-storage 3-1:1.0: Quirks match for vid 0525 pid a4a5: 10000 [1317073.396995] scsi53 : usb-storage 3-1:1.0 [1317074.411883] scsi 53:0:0:0: Direct-Access Linux File-CD Gadget 0302 PQ: 0 ANSI: 2 [1317074.412669] sd 53:0:0:0: Attached scsi generic sg3 type 0 [1317074.431910] sd 53:0:0:0: [sdc] 8388608 512-byte logical blocks: (4.29 GB/4.00 GiB) [1317074.443816] sd 53:0:0:0: [sdc] Write Protect is off [1317074.443821] sd 53:0:0:0: [sdc] Mode Sense: 0f 00 00 00 [1317074.455839] sd 53:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [1317074.551757] sdc: sdc1 [1317074.683704] sd 53:0:0:0: [sdc] Attached SCSI removable disk ------------------------------ The problem is that IO performance is very poor. Writing 200Mb file takes quite a while: ------------------------------ $ ls -lh file -rw-rw-r-- 1 root del 206M Sep 4 09:34 file $ time sudo cp file /mnt/tmp/ real 11m59.618s user 0m0.000s sys 0m0.260s ------------------------------ Which is about 300K/sec. However the same file on the same system is copied to a real USB flash in less than a minute. Looks like it is emulating a USB 1.1 controller, not USB 2.0... iotop shows something like this: ------------------------------ TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 9986 be/4 root 0.00 B/s 262.05 K/s 0.00 % 99.86 % cp file /mnt/tmp/ 20651 be/4 root 51.77 K/s 238.95 K/s 0.00 % 93.23 % [file-storage] ------------------------------ Can anything be done to improve the performance of g_mass_storage-emulated USB drive? PS: I am using kernel ------------------------------ $ uname -rm 3.2.0-4-686-pae i686 ------------------------------ Thanks in advance. -- Victor -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html