Hi jdb,
Here is the output of vmstat
The number of interrupts is even worse than I thought, it's at 300k/sec
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:
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
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