找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 31128|回复: 138

【性能调优】高效利用多核CPU的优势——尤其是IPQ4019

 火.. [复制链接]
发表于 2020-3-8 22:15 | 显示全部楼层 |阅读模式
本帖最后由 presisco 于 2020-3-11 11:12 编辑

首先是标题党对比,转发性能大幅提升50%:
优化前:

优化后

OpenWrt默认、Lean OpenWrt默认、使用irqbalance及转发优化版本的核心分配情况如下(IPQ40xx):
中断 OpenWrt Lean irqbalance 转发优化
网络队列rx CPU123 CPU0123 CPU123 CPU12交替
网络队列tx 交替 交替 交替 CPU12交替
网络中断rx CPU0123 4个一组交替 交替 4个一组CPU12反向交替
网络中断tx CPU0123 交替 交替 CPU12反向交替
无线ahb CPU0123 CPU2 CPU2 CPU3
无线pcie CPU0123 CPU3(设置无效) CPU0 CPU3
其他(usb,dma,gpio...) CPU0123 CPU0123 CPU0/CPU2/CPU3 CPU0


CPU123表示使用CPU1、CPU2、CPU3均可。为了提升局部性以提升缓存效率,中断往往被固定在所有指定CPU中最小的那个,在缺少硬件NAT与千兆网的情况下很容易占满1个CPU核心而其他核心空闲,出现性能瓶颈。因此需要调整中断与CPU的对应关系。。

使用两台间隔7米的ACRH17组建WDS无线桥接网络,主路由中运行iperf3服务器,主从路由通过QCA9984 5G进行连接,测试电脑连接于从路由的LAN1接口。
两台ACRH17均使用OpenWrt官方19.07.2固件与ath10k无线驱动。

不同中断绑定配置下的转发性能如下表所示:
中断绑定配置 速度/Mbps
OpenWrt默认 495
irqbalance 476
Lean固件默认策略 386
转发优化 581

我已经将中断的配置代码整合为脚本,只需要根据个人需求配置中断与CPU的对应关系,并上传到路由器中直接执行即可完成设定。每次重启路由器后脚本都需要重新执行。目前有基于OpenWrt/Lean与IPQ40xx系列SOC(4018/4019/4028/4029等)的脚本可直接使用。PandoraBox、AsusWrt、Merlin等及非IPQ40xx系列SOC的没有现成脚本。
如果需要在其它系统与SOC中应用,可以参考系统的中断信息表:

只需要关注最左边为纯数字的行,每行最后一项为中断的名称,带eth字样的通常为以太网中断,wlan/ath10k/ath9k/qcom-pcie-msi等字样的通常为wifi中断,带usb字样的通常为USB中断。脚本中set_mask_pattern函数的第一个参数为irq名称字段,如eth,wlan等;第二个参数是CPU核心遮罩值。调用set_mask_pattern后会将所有带有指定关键词的中断绑定到对应核心上。

中断均衡脚本:
中断均衡脚本链接

更新3-2020/3/11 10:00重写mt7621与bcm53xx的均衡脚本。
mt7621将CPU0/1处理eth0.1网络队列及USB/DMA,CPU2/3处理eth0.2网络队列及wifi。
bcm53xx使用CPU0/1处理网络队列,CPU0处理以太网,CPU1处理wifi、USB。

更新2-2020/3/10 22:30
重写ipq40xx的均衡脚本,将CPU1与CPU2用于处理网络端口队列,CPU8处理无线

更新1-2020/3/9 0:35
将ipq40xx.sh中网络相关irq全部指定至CPU2,与实验中相同。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 3恩山币 +5 收起 理由
╩华夏*** + 2 不要怂、就是干!
neko*** + 1 是dalao!
Eki*** + 2 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-15 05:59 | 显示全部楼层
presisco 发表于 2020-3-9 00:50
lean用ipq40xx.sh,潘多拉不确定,可以试试

1.早在3年前,上面说的平衡PandoraBox全都有了.
2.影响NAT最大的不是这个多核平衡,而是offload,就是我们常说的GSO/TSO,
垃圾BCM的4708/4709就是因为故意阉割了offload.所以NAT才会跟MT7621差不多.
3.当前IPQ4019上面的EDMA是支持大部分offload,除去CPU的平衡外,EDMA还支持16个硬件队列.这其实就已经是多核优化了,性能上不来还有很大原因是netfilter太多东西了.
4.假设OpenWrt能利用上IPQ806x的NSS协处理器,NAT性能会远超其他的设备.

点评

ipq40XX的hnat已经完美启用了,千兆内完全无压力。  详情 回复 发表于 2022-12-28 00:31
实际上如果要用OpenWrt,一个很大的问题是Wifi驱动中断要占用大量的CPU,内网转发也要占用大量的CPU,两个合起来容易打架。 如果单测Wifi的话,OpenWrt下IPQ40xx单核的极限也就600Mbps左右,就会CPU满载。 Pando  详情 回复 发表于 2020-3-15 17:58
1.脚本的编写思路就是来自于很早之前的PandoraBox中的某个文件,但OpenWrt里没有,Lean里不是最优。能有完全开源的PandoraBox允许自己编译的话也不会折腾这个。毕竟PandoraBox想找个IPV6支持不像OpenWrt那么透明简单  详情 回复 发表于 2020-3-15 17:40
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-8 22:32 | 显示全部楼层
进来看看,多谢~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-8 22:33 来自手机 | 显示全部楼层
厉害,k3可以用不

点评

理论上基于linux的系统都可以用,只是非ipq40xx的soc需要改脚本里的中断对应关系  详情 回复 发表于 2020-3-8 22:43
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-3-8 22:43 来自手机 | 显示全部楼层
tonekey 发表于 2020-3-8 22:33
厉害,k3可以用不

理论上基于linux的系统都可以用,只是非ipq40xx的soc需要改脚本里的中断对应关系
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-8 22:54 | 显示全部楼层
谢谢分享~~~~~~~~~~~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-8 22:58 | 显示全部楼层
感谢分享!学习了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-8 23:16 | 显示全部楼层
进来看看,感谢分享。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-8 23:33 来自手机 | 显示全部楼层
來看看利用多核CPU的优势——尤其是
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-8 23:34 | 显示全部楼层
不错。很不错!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-8 23:35 | 显示全部楼层
看看怎么个玩法
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-9 00:03 | 显示全部楼层
学习一下


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-9 00:04 | 显示全部楼层
本帖最后由 qpzr 于 2020-3-9 00:08 编辑

lean 潘多拉 应该用哪个

点评

lean用ipq40xx.sh,潘多拉不确定,可以试试  详情 回复 发表于 2020-3-9 00:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-3-9 00:16 来自手机 | 显示全部楼层
ipq4018可以不

点评

可以使用,最好是基于openwrt  详情 回复 发表于 2020-3-9 00:49
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-3-9 00:49 | 显示全部楼层

可以使用,最好是基于openwrt
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-3-9 00:50 | 显示全部楼层
qpzr 发表于 2020-3-9 00:04
lean 潘多拉 应该用哪个

lean用ipq40xx.sh,潘多拉不确定,可以试试

点评

1.早在3年前,上面说的平衡PandoraBox全都有了. 2.影响NAT最大的不是这个多核平衡,而是offload,就是我们常说的GSO/TSO, 垃圾BCM的4708/4709就是因为故意阉割了offload.所以NAT才会跟MT7621差不多. 3.当前IPQ4019  详情 回复 发表于 2020-3-15 05:59
不确定的 我还是不试了 前天刚踩了交换机的坑 一改 马上炸 怕了  详情 回复 发表于 2020-3-9 02:05
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 06:30

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表