cpu单核负载导致5G跑不满,mt7621+mt715 5G wifi吞吐量低
问题描述
开发一款mt762+7615产品,发现5G tx与rx只有500多M,同时跑2G+5G也是只有600多M,达不到市场产品性能。后来发现是cpu单核负载满负荷问题造成的。
解决方法
使用cat /proc/interrupts查看linux irq发现1e100000.ethernet(以太网驱动)与ra0(mt7615驱动)在同一cpu中(CPU0),造成在跑吞吐量时cpu0满负荷,但是cpu1/cpu2/cpu3空闲
root@GL-MT1300:/# cat proc/interrupts CPU0 CPU1 CPU2 CPU3 8: 104178 104158 104153 104144 MIPS GIC Local 1 timer 9: 52364 0 0 0 MIPS GIC 63 IPI call 10: 0 17343 0 0 MIPS GIC 64 IPI call 11: 0 0 47420 0 MIPS GIC 65 IPI call 12: 0 0 0 17015 MIPS GIC 66 IPI call 13: 2289283 0 0 0 MIPS GIC 67 IPI resched 14: 0 2353869 0 0 MIPS GIC 68 IPI resched 15: 0 0 180709 0 MIPS GIC 69 IPI resched 16: 0 0 0 331585 MIPS GIC 70 IPI resched 19: 5281 0 0 0 MIPS GIC 33 ttyS0 21: 576 0 0 0 MIPS GIC 27 1e130000.sdhci 22: 593 0 0 0 MIPS GIC 29 xhci-hcd:usb1 23: 1405 0 0 0 MIPS GIC 10 1e100000.ethernet 24: 1 0 0 0 MIPS GIC 30 gsw 25: 51606 0 0 0 MIPS GIC 11 ra0 ERR: 1
由上面可以知道1e100000.ethernet为23,输入命令
root@GL-MT1300:/# echo 4 > /proc/irq/23/smp_affinity
将1e100000.ethernet的irq放到cpu2中处理。
发现跑吞吐量时,2g+5G同时跑可达850M,单跑5G也可以到600M多,吞吐量数据正常。
辅助验证工具
top命令可以显示各个cpu负载,但是要在make menuconfig时选上相应的支持
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包
于2022-10-16发布