This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] am3352:以太网性能

Guru**** 2589280 points
Other Parts Discussed in Thread: AM3352

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/586788/am3352-ethernet-performance

器件型号:AM3352

您好!  

基于 AM3352的 CPU 系统用于定制设计。 它与 TI 提供的 AM335X 参考设计非常相似。 最近我在执行 iperf 测试时遇到了一些问题。 PC 充当 iperf 服务器。 基于 AM3352的 CPU 系统充当客户端。 在我运行基于 SDK08.00.00.00的 Linux 系统的过程中。 运行该测试一段时间后、CPU 负载为100%。 然后、我们可以看到 iperf 的吞吐量急剧下降。

 

我不认为这是由 AM3352的低性能引起的。 也许我错过了一些东西。 我们非常感谢您的任何建议。 我使用内核中系统控制的默认设置。

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请遵循以下检查清单: processors.wiki.ti.com/.../5x_CPSW 并将结果发布在此处。
    请注意、SDK 8.0非常旧、强烈建议您迁移到最新的 SDK、该 SDK 可在 以下位置下载:software-dl.ti.com/.../index_FDS.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗨、Biser

    好极了。 我已使用更新的内核完成了 iperf 测试。 很不错!

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、杨

    很高兴看到您的问题已得到解决。 我们还使用 AM3352 Linux SDKv8.0、并解决了同样的问题。 当我使用 vsftpd 和 iperf 来测试网络时、CPU 利用率为100%。 我使用 perf 分析 vsftpd 进程的 CPU 利用率。 下面是 perf 的报告。 似乎达芬奇_cpdma.c 中的 cpdma_chan_submit ()占用了大量 CPU 时间。

    1.您能告诉我哪个 SDK 和内核版本可以解决此问题吗?
    2.我的 QQ:398382433。 可以添加我吗? 我很乐意与您沟通。

    #要显示 perf.data 标头信息、请使用--header/--header-only 选项。
    编号
    #个样本:511K 事件"周期"
    #事件计数(近似值):2986068112
    编号
    #开销命令 共享对象 符号
    #…………… . 三、会议的报告 .
    编号
    14.11% vsftpd [kernel.kallsyms][k] cpdma_chan_submit
    5.96% vsftpd [kernel.kallsyms][k]__IRQ_PLOT_desc_unlock
    5.54%的 vsftpd [kernel.kallsyms][k] csum_partial_copy_frod_user
    2.84% vsftpd [kernel.kallsyms][k]__do_softirq
    2.39% vsftpd [kernel.kallsyms][k] tcp_transmit _skb
    2.18% vsftpd [kernel.kallsyms][k] mod_timer
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    总的来说、SDK08.00.00.00之后的版本都正常。 我使用的是 SDK01.00.03。 希望您可以解决您的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢。 我将使用 sdk.01.00.03来验证此问题。
    你是中国人吗? 您可以添加我的 QQ 吗? 我在武汉工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yang:

    当我使用 SDK 01.00.03时、该问题可以得到解决。 此外、我在 AMSDK v8.0中发现了以下补丁会导致问题。
    但我不明白为什么有关 AMSDK v8.0中 mailbox-wkup_m3模块的补丁会影响 CPSW 以太网性能并导致 CPU 利用率非常高。 SDK v01.00.03中的哪些补丁可以解决此问题。

    ========================================================================================
    提交2e560903e75ef790fd0428dbb53f65a2ee1ad4c6
    作者:Dave Gerlach
    日期:2014年12月10日04:18:16日+0000

    邮箱/OMAP:添加 ti、mbox-send-noirq 查询以修复 AM33xx CPU 空闲

    邮箱框架控制传输队列并需要
    控制器实现或客户端来运行状态
    TX 队列的机器。 OMAP 邮箱控制器使用 Tx 就绪
    中断相当于运行此 Tx 的 Tx 完成中断
    队列状态机。

    AM33xx 和 AM43xx SoC 上的 WkupM3处理器用于减轻负载
    某些 PM 任务、如对器件执行必要的操作
    PM 挂起/恢复或用于在空闲期间进入较低的 c 状态。

    AM33xx 上的 CPUIdle 要求在不发送消息的情况下发送消息
    必须触发 Tx 就绪中断、作为中断
    将立即终止 CPUIdle 操作。 支持
    通过引入 DT quirk、"ti、mbox-send-noirq"、添加了这一点
    并使用它来修改正常的 OMAP 邮箱控制器行为
    用于与 WkupM3远程设备通信的子邮箱上
    处理器。 这还需要调整 wkup_m3_IPC 驱动器
    运行 Tx 状态机的邮箱使用逻辑。

    注:
    - AM43xx 在 CPU 空闲时不与 WkupM3通信
    不受此行为影响。 但是、它使用相同的 IPC 驱动程序
    对于 PM 挂起/恢复功能、因此需要使用的查询
    嗯、因为常见 wkup_m3_IPC 驱动器发生了变化。

    签字人:Dave Gerlach
    [ s-anna@ti.com:修改逻辑并更新注释/补丁说明]
    签字人:苏门·安娜

    文档/devicetree/bindings/mailbox/omap-mailbox.txt | 8 ++++++++++
    drivers/mailbox/omap-mailbox.c |54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ----
    2个文件已更改,58个插入(+),4个删除(-)

    ========================================================================================
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我很高兴看到您的问题得到了解决。 关于 CPSW 以太网性能的更多信息、很抱歉我没有深入介绍。

    BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yang:

    我在 Processor-SDK-v01.00.03中找到以下"338a6906"提交可解决此问题。 将此修补程序合并到 SDKv8.0可以解决此问题。 提交的评论详细解释了原因。

    非常感谢您的主题和回复!

    ========================================================================================================
    提交338a690623badfc3bc3eb6ddc7302e03ab33e6ba
    作者:Dave Gerlach
    日期:2014年3月26日13:41:47 2015年-0500

    ARM:OMAP2+:cpuidle33xx:更改 wkup_m3空闲状态以避免 MPU PLL 旁路

    为了在 cpuidle 中进入 c1状态、am33xx 目前使用 wkup_m3进行门控
    并旁路 MPU PLL。 因为我们不会关闭
    在该 C 状态下、在 MPU 电源域之外、两者都是可能的
    唤醒并同时执行、我们没有能力
    在 cputleidle 路径中的两个之间执行同步、原因是
    无中断上下文。

    这会导致两者之间在某些情况下出现频率行为
    其中、通常在 CPU 活动较高期间进入 C1状态
    可能会干扰 wkup_m3上的唤醒路径、
    这可防止 MPU PLL 被重新锁定并导致极端情况
    系统减速。

    因此、我们现在必须使用上可用的不同空闲状态
    当前的 wkup_m3固件(0x190)、其作用只不过是放置
    将 MPU 时钟域设置为睡眠模式、从而实现与之前相同的功耗节省
    之前在 MPU 电源轨上运行、但上的功率稍高
    MPU_PLL 电压轨。

    签字人:Dave Gerlach

    arch/arm/mach-OMAP2/pm33xx.h | 2 +-
    1个文件已更改,1个插入(+),1个删除(-)

    ========================================================================================================
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    干得不错。 太棒了! 感谢您的分享。

    BR