Quantcast
Viewing all articles
Browse latest Browse all 4884

Compute Module • Re: Rpi cm4 usb gadget performance issue related to interrupt load

Hi jdb,

Here is the output of vmstat

The number of interrupts is even worse than I thought, it's at 300k/sec

Code:

root@inogeni-cam230:~# vmstat 1procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 8  0      0 1602000   2524 125304    0    0    13     0 1692 9718 32 35 33  0  0Start capturing uac audio from audacity... 4  0      0 1601724   2524 125296    0    0     0     0 37616 44501 29 33 38  0  0 5  0      0 1601976   2524 125284    0    0     0     0 34564 41882 29 35 37  0  0 3  0      0 1602052   2524 125296    0    0     0     0 164559 40656 32 38 31  0  0 5  0      0 1602052   2524 125296    0    0     0     0 286197 40167 41 41 19  0  0 2  0      0 1595068   2524 125284    0    0     0     0 288001 40109 47 36 18  0  0 2  0      0 1596028   2524 125248    0    0     0     0 289815 40404 47 34 20  0  0 4  0      0 1595776   2524 125336    0    0     0     0 289930 40524 47 34 19  0  0 5  0      0 1596076   2524 125284    0    0     0     0 289358 40216 47 34 19  0  0 2  0      0 1595776   2524 125224    0    0     0     0 288782 40450 44 37 19  0  0 4  0      0 1596076   2524 125276    0    0     0     0 289619 40589 44 35 20  0  0 3  0      0 1596076   2524 125288    0    0     0     0 289110 40248 48 34 19  0  0 3  0      0 1595804   2524 125332    0    0     0     0 288649 40057 49 33 18  0  0 5  0      0 1595852   2524 125320    0    0     0     0 289508 39541 47 34 19  0  010  0      0 1595348   2524 125360    0    0     0     0 277933 40170 37 41 22  0  0 1  0      0 1595600   2524 125288    0    0     0     0 270898 40968 27 44 30  0  0 5  0      0 1595552   2524 125280    0    0     0     0 276599 40941 25 37 37  0  0 3  0      0 1595548   2524 125244    0    0     0     0 272294 41198 28 39 34  0  0 3  0      0 1595348   2524 125264    0    0     0     0 269341 39490 29 44 26  0  0 4  0      0 1595128   2524 125380    0    0     0     0 265955 37669 35 41 24  0  0 2  0      0 1591784   2524 125344    0    0     0     0 271759 36281 26 47 27  0  0System slowdown around hereprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 2  0      0 1592120   2524 125304    0    0     0     0 301722 31898 27 34 40  0  0 2  0      0 1591872   2524 125388    0    0     0     0 301374 32095 26 34 40  0  0 1  0      0 1592620   2524 125388    0    0     0     0 301788 32063 27 34 39  0  0 2  0      0 1592152   2524 125304    0    0     0     0 301975 32002 28 33 40  0  0 2  0      0 1591900   2524 125376    0    0     0     0 301486 32028 27 33 40  0  0 2  0      0 1591900   2524 125304    0    0     0     0 302038 31954 27 33 40  0  0 4  0      0 1591928   2524 125284    0    0     0     0 301895 31788 28 33 39  0  0 2  0      0 1591928   2524 125372    0    0     0     0 302057 31889 27 34 39  0  0 2  0      0 1591676   2524 125304    0    0     0     0 301454 31766 28 34 38  0  0 2  0      0 1592208   2524 125288    0    0     0     0 301987 31890 29 33 38  0  0 5  0      0 1591956   2524 125288    0    0     0     0 301808 31865 28 35 37  0  0 5  0      0 1591956   2524 125388    0    0     0     0 301987 31819 28 36 37  0  0 2  0      0 1591680   2524 125304    0    0     0     0 301741 31799 25 39 36  0  0^CUnplug usb cable from rpi to pc, performance is restored immediatelyroot@inogeni-cam230:~# vmstat 1procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 9  0      0 1602860   2524 125476    0    0    12     0 5285 9676 32 35 33  0  0 5  0      0 1602860   2524 125476    0    0     0     0 26372 34736 22 32 46  0  0 5  0      0 1602860   2524 125476    0    0     0     0 24714 33487 25 31 45  0  0 2  0      0 1602860   2524 125476    0    0     0     0 28027 36582 21 33 46  0  0 2  0      0 1602860   2524 125476    0    0     0     0 29265 37786 21 32 47  0  0^C
I noticed that the high interrupt load happens once pc start capturing audio, even if other usb function are not used. This happens only on some pc.

Here is the context of /proc/interrupts for reference:

Code:

root@inogeni-cam230:~# cat /proc/interrupts           CPU0       CPU1       CPU2       CPU3 11:    4521196    7952846    8955254    9251953     GICv2  30 Level     arch_timer 14:      64547          0          0          0     GICv2  65 Level     fe00b880.mailbox 17:          0          0          0          0     GICv2 153 Level     uart-pl011 18:      46286          0          0          0     GICv2 149 Level     fe205000.i2c, fe804000.i2c 19:         13          0          0          0     GICv2 125 Level     ttyS0  fe980000.usb is the interrupt the goes up quickly when I start capturing audio from pc I noticed that I reproduce the issue even if I do not use any other usb function as long as I start capturing audio on the pc.  20:          0  167174512          0          0     GICv2 105 Level     fe980000.usb, fe980000.usb 24:          0          0          0          0     GICv2 114 Level     DMA IRQ 26:          0          0          0          0     GICv2 116 Level     DMA IRQ 27:          0          0          0          0     GICv2 117 Level     DMA IRQ 31:     473293          0          0          0     GICv2  66 Level     VCHIQ doorbell 32:       7965          0          0          0     GICv2 158 Level     mmc1, mmc0 33:     140249          0          0          0     GICv2 144 Level     vc4 firmware kms 34:          0          0          0          0     GICv2  48 Level     arm-pmu 35:          0          0          0          0     GICv2  49 Level     arm-pmu 36:          0          0          0          0     GICv2  50 Level     arm-pmu 37:          0          0          0          0     GICv2  51 Level     arm-pmu 40:      15371          0          0          0     GICv2 189 Level     eth0 41:        870          0          0          0     GICv2 190 Level     eth0 47:          0          0          0          0     GICv2 106 Level     v3d 48:          0          0          0          0     GICv2 175 Level     PCIe PME, aerdrv 49:   30067440          0          0          0  BRCM STB PCIe MSI 524288 Edge      xhci_hcd 50:          0          0          0          0  BRCM STB PCIe MSI 524289 Edge      xhci_hcd 51:          0          0          0          0  BRCM STB PCIe MSI 524290 Edge      xhci_hcd 52:          0          0          0          0  BRCM STB PCIe MSI 524291 Edge      xhci_hcd 53:          0          0          0          0  BRCM STB PCIe MSI 524292 Edge      xhci_hcd 54:          0          0          0          0  pinctrl-bcm2835   4 Edge      streamerapp 55:          0          0          0          0  pinctrl-bcm2835   3 Edge      streamerapp 56:          0          0          0          0  pinctrl-bcm2835   2 Edge      streamerapp 57:          0          0          0          0     GICv2 135 Level     unicam_capture0IPI0:       125        281        378        371       Rescheduling interruptsIPI1:    428765     717564    1002906     940779       Function call interruptsIPI2:         0          0          0          0       CPU stop interruptsIPI3:         0          0          0          0       CPU stop (for crash dump) interruptsIPI4:         0          0          0          0       Timer broadcast interruptsIPI5:         2          5          0          0       IRQ work interruptsIPI6:         0          0          0          0       CPU wake-up interruptsErr:          0root@inogeni-cam230:~#

Statistics: Posted by nicolasb565 — Fri Jan 19, 2024 3:26 pm



Viewing all articles
Browse latest Browse all 4884

Trending Articles