游戏机客户WiFi问题:Wifi 6e low tput due to high CPU loading,根本原因是WiFi 6e 36-bit DMA issue

客户问题:WiFi6e low tput

问题描述:

正常情况下,6G band,160m带宽,2个stream,TCP一般可以跑到1.8Gbps。而客户设备只能跑到1.4Gbps,而且CPU loading有点高。

复现:

        本地实验室容易复现。

分析Triage:

OTA分析:WiFi phy data rate正常,但是tput上不去。

软件系统分析: 发现WiFi driver 调用的kernel API dma_mapping 导致 cpu loading比较高,而dma_mapping是处理4G+地址到4G-地址的映射(36-32 bit mapping)。

根本原因和解决办法

通常来讲,dma_mapping一般通过IOMMU硬件来处理。在这个平台上,客户要求把这个IOMMU功能给关闭。因为根据客户的测试,打开IOMMU会降低GPU的性能。因此dma_mapping变成软件操作,消耗了CPU资源。

与此同时,我们发现WiFi SOC工作在32-bit DMA 模式,因此我们把WiFi SOC 36bit DMA打开,这样就不需要做DMA mapping, CPU loading就降了下去,WiFi tput也回归正常。

**WiFi SOC之前使用32-bit DMA模式,背后原因复杂,这里暂不展开(碟中谍)。

Ankie的评论:

在应对WiFi吞吐量(throughput)问题时,我们需要超越表面的现象,深入探究其背后的根本原因。问题可能源于不良的环境条件,或者是WiFi系统级芯片(SoC)的故障,亦或是WiFi驱动程序的缺陷。面对这些挑战,我们必须借助多样化的测试和分析手段,层层剥离,逐步逼近问题的核心——即根源所在。只有这样,我们才能制定出最为恰当、有效的解决方案。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ankie(资深技术项目经理)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值