On 12/29/2014 02:58 PM, Felipe Balbi wrote: > Hi, > > On Mon, Dec 29, 2014 at 02:56:25PM -0500, Jorge Ramirez-Ortiz wrote: >> On 12/29/2014 11:37 AM, Felipe Balbi wrote: >>> Hi, >>> >>> On Sun, Dec 28, 2014 at 07:28:33PM -0500, Jorge Ramirez-Ortiz wrote: >>>> On 12/28/2014 11:39 AM, Felipe Balbi wrote: >>>>> On Sat, Dec 27, 2014 at 05:33:36PM -0500, Jorge Ramirez-Ortiz wrote: >>>>>> Hi Ricardo/all >>>>>> >>>>>> I finally got around to capture a trace of a SS bulk transfer using the net2280. >>>>>> The trace is available to anyone interested (70 MB file for the Beaglebone 5000). >>>>> can you publish the trace somewhere we can download ? I use Beagle5000 >>>>> myself and could help revieweing the traces. >>>>> >>>> Thanks Felipe. >>>> I dont have any public ftp server at hand so I just pushed the log to my Xenomai >>>> git tree. >>>> >>>> please grab it from here (no need to clone the tree, just press the download link) >>>> http://git.xenomai.org/xenomai-jro.git/commit/?h=logs >>> One of the reasons could be because you're using the printer gadget :-) >>> Have you tried any of the other gadgets ? In any case, try this little >>> hack: >>> >>> diff --git a/drivers/usb/gadget/legacy/printer.c b/drivers/usb/gadget/legacy/printer.c >>> index 9054598..8a09661 100644 >>> --- a/drivers/usb/gadget/legacy/printer.c >>> +++ b/drivers/usb/gadget/legacy/printer.c >>> @@ -129,7 +129,7 @@ module_param(qlen, uint, S_IRUGO|S_IWUSR); >>> >>> /* holds our biggest descriptor */ >>> #define USB_DESC_BUFSIZE 256 >>> -#define USB_BUFSIZE 8192 >>> +#define USB_BUFSIZE 65536 >>> >>> static struct usb_device_descriptor device_desc = { >>> .bLength = sizeof device_desc, >> yes I thought about that as well: in fact the trace I made available already had >> that modification in place. >> (it also has the queue length increased to 20 - no more changes after those two) > oh, ok. That would mean the IP can't pump more data :-s > >> for simplicity -and to have a common test vehicle- I'll capture a trace using >> the g_mass_storage (last time I run that check the performance numbers were >> exactly the same though). I pushed a new trace using the g_mass_storage driver this time. http://git.xenomai.org/xenomai-jro.git/commit/?h=logs LUP/LDN sequences seem to occur at a higher frequency than before (every 16 transfers or earlier) the test plan as described in the commit: ------------------------------------------ device: modprobe net2280 dd if=/dev/zero of=/tmp/disk bs=256M count=1 modprobe g_mass_storage file=/tmp/disk host: dd if=/dev/sd{x} of=/dev/null the transfer speed is pretty much the same than before (around 100MB/s) [jramirez@XENO ~]$ sudo dd if=/dev/sdb of=/dev/null 524288+0 records in 524288+0 records out 268435456 bytes (268 MB) copied, 2.59402 s, 103 MB/s This is some information from the host side: --------------------------------------------- Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 9 Hub bDeviceSubClass 0 Unused bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1d6b Linux Foundation idProduct 0x0003 3.0 root hub bcdDevice 3.18 iManufacturer 3 Linux 3.18.0-rc7jro-00001-g225426a xhci-hcd iProduct 2 xHCI Host Controller iSerial 1 0000:00:14.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 Hub bInterfaceSubClass 0 Unused bInterfaceProtocol 0 Full speed (or root) hub iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0004 1x 4 bytes bInterval 12 bMaxBurst 0 Hub Descriptor: bLength 12 bDescriptorType 42 nNbrPorts 6 wHubCharacteristic 0x000a No power switching (usb 1.0) Per-port overcurrent protection bPwrOn2PwrGood 10 * 2 milli seconds bHubContrCurrent 0 milli Ampere bHubDecLat 0.0 micro seconds wHubDelay 0 nano seconds DeviceRemovable 0x00 Hub Port Status: Port 1: 0000.02a0 5Gbps power Rx.Detect Port 2: 0000.02a0 5Gbps power Rx.Detect Port 3: 0000.02a0 5Gbps power Rx.Detect Port 4: 0000.02a0 5Gbps power Rx.Detect Port 5: 0000.02a0 5Gbps power Rx.Detect Port 6: 0000.0203 5Gbps power U0 enable connect Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 15 bNumDeviceCaps 1 SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x02 Latency Tolerance Messages (LTM) Supported wSpeedsSupported 0x0008 Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 3 Lowest fully-functional device speed is SuperSpeed (5Gbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 512 micro seconds Device Status: 0x0001 Self Powered This is the host lshw output ---------------------------- *-usb:0 description: USB controller product: 8 Series/C220 Series Chipset Family USB xHCI vendor: Intel Corporation physical id: 14 bus info: pci@0000:00:14.0 version: 04 width: 64 bits clock: 33MHz capabilities: pm msi xhci bus_master cap_list configuration: driver=xhci_hcd latency=0 resources: irq:28 memory:f7d20000-f7d2ffff *-usbhost:0 product: xHCI Host Controller vendor: Linux 3.18.0-rc7jro-00001-g225426a xhci-hcd physical id: 0 bus info: usb@2 logical name: usb2 version: 3.18 capabilities: usb-3.00 configuration: driver=hub slots=6 speed=5000Mbit/s *-usb description: Mass storage device product: Mass Storage Gadget vendor: Linux 3.18.0-rc7jro-00001-g225426a with net2280 physical id: 6 bus info: usb@2:6 logical name: scsi5 version: 3.18 capabilities: usb-3.00 scsi emulated scsi-host configuration: driver=usb-storage maxpower=8mA speed=5000Mbit/s *-disk description: SCSI Disk physical id: 0.0.0 bus info: scsi@5:0.0.0 logical name: /dev/sdb size: 256MiB (268MB) configuration: logicalsectorsize=512 sectorsize=512 this is the device lshw output ------------------------------ *-pci:1 description: PCI bridge product: 8 Series/C220 Series Chipset Family PCI Express Root Port #2 vendor: Intel Corporation physical id: 1c.1 bus info: pci@0000:00:1c.1 version: d4 width: 32 bits clock: 33MHz capabilities: pci pciexpress msi pm normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:25 ioport:2000(size=4096) memory:f7c00000-f7cfffff ioport:df200000(size=2097152) *-usb description: USB controller product: PLX Technology, Inc. vendor: PLX Technology, Inc. physical id: 0 bus info: pci@0000:02:00.0 version: ab width: 32 bits clock: 33MHz capabilities: pm msi pciexpress usb_device bus_master cap_list rom configuration: driver=net2280 latency=0 resources: irq:34 memory:f7c28000-f7c29fff memory:f7c10000-f7c1ffff memory:f7c00000-f7c0ffff memory:f7c20000-f7c27fff >> To use g_printer I wrote a small application service on the device side (I can >> push it to the same place I put the previous log if you want? let me know) > > -- 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