Request Support For OpenWrt Kernel 6.6.35 Router
by KFO from LinuxQuestions.org on (#6P03H)
I bought new modem with PCIe mode for this modem 5G (RM551) Quectel installed on Banana BPI-R4
I did some test (PCIe ) between MCUZONE Board (no driver - driver free) and OpenWrt board (Which OpenWrt using Kernel 6.6.35)
MCUZONE PCIe
i'm getting 800mb/s to 900mb/s
image
Where The PCIe for OpenWrt
i'm getting 550 mb/s
So I started searching to know why ? I found CPU utilization ( when Its running for all CPUs 0,1,2 & 3) IRQ .......only CPU 0 is running and reaching up to 75% utilization where other CPUs 1,2 and 3 are almost sleeping (:arrow_down:low utilization) :expressionless:
So I tried to let all CPUs run at same time on PCIe mode but no luck ... still system is assigning load to CPU 0 also when I activated IRQ package to disrepute load but no luck
Also with this
Quote:
only CPU 0 is running
I did one thing made a big different on speed and utilization
Quote:
Where CPU 1 gave a good speeds
Image for test:
https://imgur.com/a/sZLj8rS
Quote:
Quote:
CPU 1 and 2 are giving a higher speeds
CPU 0 and 4 are giving a lower speeds
I appreciate answering on these questions :point_down:
How I can let the system use all CPUs ? only CPU 0 will work ....
echo f > /proc/irq/116/smp_affinity
Quote:
<<<---- (This only worked , where only CPU 0 will run )
How I can let OpenWrt use CPU 1 and 2 same time ?
echo 6 > /proc/irq/116/smp_affinity
I tried this echo and didn't work for dual cores (1 & 2) only core 1 was running and core 2 idle
I did some test (PCIe ) between MCUZONE Board (no driver - driver free) and OpenWrt board (Which OpenWrt using Kernel 6.6.35)
MCUZONE PCIe
i'm getting 800mb/s to 900mb/s
image
Where The PCIe for OpenWrt
i'm getting 550 mb/s
So I started searching to know why ? I found CPU utilization ( when Its running for all CPUs 0,1,2 & 3) IRQ .......only CPU 0 is running and reaching up to 75% utilization where other CPUs 1,2 and 3 are almost sleeping (:arrow_down:low utilization) :expressionless:
So I tried to let all CPUs run at same time on PCIe mode but no luck ... still system is assigning load to CPU 0 also when I activated IRQ package to disrepute load but no luck
Also with this
Quote:
echo f > /sys/class/net/usb0/queues/rx-0/rps_cpus |
I did one thing made a big different on speed and utilization
Quote:
echo 2 > /proc/irq/116/smp_affinity |
Where CPU 1 gave a good speeds
Image for test:
https://imgur.com/a/sZLj8rS
Quote:
root@OpenWrt:~# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 11: 64144 84579 104371 92990 GICv3 30 Level arch_timer 16: 0 0 0 0 mt-eint 1 Edge sfp2-tx-fault 17: 0 0 0 0 mt-eint 2 Edge sfp2-los 27: 0 0 0 0 mt-eint 12 Edge 11230000.mmc cd 29: 0 0 0 0 mt-eint 14 Edge gpio-keys 69: 0 0 0 0 mt-eint 54 Edge sfp1-los 84: 0 0 0 0 mt-eint 69 Edge sfp1-tx-fault 97: 0 0 0 0 mt-eint 82 Edge sfp1-mod-def0 98: 0 0 0 0 mt-eint 83 Edge sfp2-mod-def0 99: 16 0 0 0 GICv3 155 Level ttyS0 102: 14309 0 0 0 GICv3 172 Level 11007000.spi 104: 1026399 2105448 2378418 0 GICv3 229 Level 15100000.ethernet 105: 615057 1210835 0 1210491 GICv3 230 Level 15100000.ethernet 106: 31 0 0 0 GICv3 168 Level 11003000.i2c 107: 18 0 0 0 GICv3 177 Level 11005000.i2c 108: 0 0 0 0 GICv3 170 Level 1100a000.lvts 109: 0 0 0 0 GICv3 142 Level wdt_bark 110: 3963 353 0 0 GICv3 175 Level 11230000.mmc 111: 5 0 0 0 GICv3 241 Level mt7530 112: 0 0 0 0 mt7530 0 Edge mt7530-0:00 113: 0 0 0 0 mt7530 1 Edge mt7530-0:01 114: 3 0 0 0 mt7530 2 Edge mt7530-0:02 115: 2 0 0 0 mt7530 3 Edge mt7530-0:03 116: 0 3754489 0 0 GICv3 204 Level xhci-hcd:usb1 IPI0: 112362 8141 7366 7552 Rescheduling interrupts IPI1: 5522892 352854 2373571 1606272 Function call interrupts IPI2: 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 Timer broadcast interrupts IPI5: 0 0 0 0 IRQ work interrupts IPI6: 0 0 0 0 CPU wake-up interrupts |
20:32:31 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 20:32:32 all 0.00 0.00 3.98 0.00 5.22 15.17 0.00 0.00 0.00 75.62 20:32:32 0 0.00 0.00 14.85 0.00 1.98 7.92 0.00 0.00 0.00 75.25 20:32:32 1 0.00 0.00 0.96 0.00 18.27 31.73 0.00 0.00 0.00 49.04 20:32:32 2 0.00 0.00 0.00 0.00 0.00 19.19 0.00 0.00 0.00 80.81 20:32:32 3 0.00 0.00 0.00 0.00 0.00 1.02 0.00 0.00 0.00 98.98 |
CPU 0 and 4 are giving a lower speeds
I appreciate answering on these questions :point_down:
How I can let the system use all CPUs ? only CPU 0 will work ....
echo f > /proc/irq/116/smp_affinity
Quote:
root@OpenWrt:~# echo f > /sys/class/net/usb0/queues/rx-0/rps_cpus |
How I can let OpenWrt use CPU 1 and 2 same time ?
echo 6 > /proc/irq/116/smp_affinity
I tried this echo and didn't work for dual cores (1 & 2) only core 1 was running and core 2 idle