DWC OTG TX path optimisation for 11-current
Svatopluk Kraus
onwahe at gmail.com
Tue Aug 18 12:31:03 UTC 2015
On Tue, Aug 18, 2015 at 1:54 PM, Hans Petter Selasky <hps at selasky.org> wrote:
> Hi,
>
> On 08/18/15 13:22, Svatopluk Kraus wrote:
>>
>> Do I understand it well that you are not able to trigger the problem?
>
>
> Maybe I haven't been trying hard enough. I've been using a kernel built from
> "projects/hps_head" which I just updated to include the latest DWC OTG
> patches, instead of "head". There was today a timer subsystem fix, not sure
> if it makes any difference:
>
> https://svnweb.freebsd.org/changeset/base/286880
>
> I will try to buildworld from an external USB disk later today and see what
> happens.
>
>>
>> and still the system response time is terrible.
>
>
> If you can do:
>
> usbconfig -d 0.1 set_config 255
>
> And verify that the IRQ rate goes to zero for DWC OTG, then we maybe could
> rule out USB.
>
Note that my root filesystem was on usb disk.
root at rpi2:~ # usbconfig
ugen0.1: <OTG Root HUB DWCOTG> at usbus0, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (0mA)
ugen0.2: <product 0x9514 vendor 0x0424> at usbus0, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=SAVE (2mA)
ugen0.3: <product 0xec00 vendor 0x0424> at usbus0, cfg=0 md=HOST
spd=HIGH (480Mbps) pwr=ON (2mA)
ugen0.4: <USB2.0 Hub VIA Labs, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (0mA)
ugen0.5: <USB2.0 Hub VIA Labs, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (0mA)
ugen0.6: <HD710 ADATA> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (0mA)
root at rpi2:~ #
root at rpi2:~ # usbconfig -d 0.1 set_config 255
uhub0: at usbus0, port 1, addr 1 (disconnected)
ugen0.2: <vendor 0x0424> at usbus0 (disconnected)
uhub1: at uhub0, port 1, addr 2 (disconnected)
ugen0.3: <vendor 0x0424> at usbus0 (disconnected)
smsc0: at uhub1, port 1, addr 3 (disconnected)
ukphy0: detached
miibus0: detached
ugen0.4: <VIA Labs, Inc.> at usbus0 (disconnected)
uhub2: at uhub1, port 3, addr 4 (disconnected)
ugen0.5: <VIA Labs, Inc.> at usbus0 (disconnected)
uhub3: at uhub2, port 1, addr 5 (disconnected)
ugen0.6: <ADATA> at usbus0 (disconnected)
umass0: at uhub2, port 4, addr 6 (disconnected)
da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
da0: <ADATA HD710 AX00> detached
(da0:umass-sim0:0:0:0): Periph destroyed
Device da0s1a went missing before all of the data could be written to
it; expect data loss.
root at rpi2:~ # vmstat -i
interrupt total rate
irq1: mbox0 27 0
irq2: vchiq0 7 0
irq17: bcm283x_dwco 569952361 31
irq26: bcm_dma0 962 0
irq65: uart0 7945865 38
irq70: sdhci_bcm0 496 0
irq73: generic_time 19199003 21
irq76: ipi 853597 9
Total 597952318 6229
root at rpi2:~ # vmstat -i -w1
interrupt total rate
irq1: mbox0 27 0
irq2: vchiq0 7 0
irq17: bcm283x_dwco 569961155 32
irq26: bcm_dma0 962 0
irq65: uart0 7946417 38
irq70: sdhci_bcm0 496 0
irq73: generic_time 19199024 21
irq76: ipi 853615 9
Total 597961703 6229
irq1: mbox0 0 0
irq2: vchiq0 0 0
irq17: bcm283x_dwco 550 472
irq26: bcm_dma0 0 0
irq65: uart0 526 451
irq70: sdhci_bcm0 0 0
irq73: generic_time 12 10
irq76: ipi 4 3
Total 1092 937
irq1: mbox0 0 0
irq2: vchiq0 0 0
irq17: bcm283x_dwco 640 598
irq26: bcm_dma0 0 0
irq65: uart0 474 443
irq70: sdhci_bcm0 0 0
irq73: generic_time 10 9
irq76: ipi 2 2
Total 1126 1052
irq1: mbox0 0 0
irq2: vchiq0 0 0
irq17: bcm283x_dwco 456 425
irq26: bcm_dma0 0 0
irq65: uart0 476 444
irq70: sdhci_bcm0 0 0
irq73: generic_time 13 12
irq76: ipi 3 3
Total 948 884
irq1: mbox0 0 0
irq2: vchiq0 0 0
irq17: bcm283x_dwco 219 205
irq26: bcm_dma0 0 0
irq65: uart0 476 446
irq70: sdhci_bcm0 0 0
irq73: generic_time 12 11
irq76: ipi 2 2
Total 709 664
^C
root at rpi2:~ # usbconfig
ugen0.1: <OTG Root HUB DWCOTG> at usbus0, cfg=255 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (0mA)
root at rpi2:~ # usbconfig
Svata
More information about the freebsd-arm
mailing list