Other Parts Discussed in Thread: AM3358, DP83640, AM3359, TPIC2810, PCA9536, SN65HVS882, TPS65910
主题中讨论的其他器件:AM3358、 TPIC2810、 PCA9536、 SN65HVS882、 TPS65910
工具/软件:Linux
大家好、我正在调试我们自己的板 、发现了一个"sched:RT 节流已激活"问题。
我们的处理器是 am3358、我们将两个 DP83640连接到 PRU MII 接口。
现在、我们可以 成功启动 Linux。
但当我插入网络电缆时
系统变得非常慢、并显示在串行端口中:
[395.943979] sched:RT 节流已激活
[406.954540] NOHZ:local_softirq_pending 10e
[406.963989] NOHZ:local_softirq_pending 10e
[406.973983] NOHZ:local_softirq_pending 10e
[406.982973] NOHZ:local_softirq_pending 10e
[406.983987] NOHZ:local_softirq_pending 10e
[406.993984] NOHZ:local_softirq_pending 10e
[416.954523] NOHZ:local_softirq_pending 10e
[416.963989] NOHZ:local_softirq_pending 10e
[416.973984] NOHZ:local_softirq_pending 10e
[416.983984] NOHZ:local_softirq_pending 10e
或者、有时将数字10e 更改为106:
[164.954056] NOHZ:local_softirq_pending 106
我搜索谷歌搜索并发现了一些类似的问题、但我可以找到一个好的解决方案:
e2e.ti.com/.../2038114
e2e.ti.com/.../558320
e2e.ti.com/.../1708033
(1)我使用 top 命令并发现 ktimersoftd 几乎会占用所有 CPU。
任务:总共101个、 8个正在运行、 93个正在睡眠、 0个停止、 0个僵尸
%CPU: 1.0us、28.8 sy、 0.0 ni、 0.9 id、 0.0 wa、 0.0 hi, 69.3si, 0.0 st
KiB 内存: 510124, 空闲404716, 使用18280, 87128缓冲器/高速缓存
KiB 交换: 总共0个、 空闲0个、 使用0个。 468196可用内存
12根 20 0 0 0 0 0 S 0.0 0.0 0:00.00 kclksetdelayd
4根 -2 0 0 0 0 R 94.8 0.0 0:56.63 ktimersoftd/0
1 root 20 0 5216 4140 2704 R 1.3 0.8 0:16.82 systemd
3根 20 0 0 0 0 R 1.3 0.0 0:00.56 ksoftirqd/0
1702 root 20 0 3036 1776 1364 R 0.5 0.3 0:00.36 top
110根 20 0 5244 2808 2624 S 0.2 0.6 0:02.67系统日志
544 message+ 20 0 4320 2460 2152 S 0.2 0.5 0:00.93 dbus-daemon
1716 root 20 0 1780 1212 1104 S 0.2 0:00.01 agetty
2根 20 0 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
6根 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
8根 -2 0 0 0 0 0 R 0.0 0.0 0:00.15 RCU_PRETER
9根 -2 0 0 0 0 0 R 0.0 0 0 :00.02 RCU_sched
10 root -2 0 0 0 0 S 0.0 0.0 0:00.00 rcub/0
11 root -2 0 0 0 0 R 0.0 0.0 0:00.40 rcuc/0
12根 20 0 0 0 0 0 S 0.0 0.0 0:00.00 kclksetdelayd
13根 RT 0 0 0 0 S 0.0 0.0 0:00.00 posixcputmr/0
14根 20 0 0 0 0 0 S 0.0 0.0 0:00.01 kdevtmpfs
15根 0 -20 0 0 0 S 0.0 0.0 0:00.00网络
16根 20 0 0 0 0 0 S 0.0 0.0 0:00.00 kswork
17根 0 -20 0 0 0 S 0.0 0.0 0:00.00 perf
19根 0 -20 0 0 0 S 0.0 0.0 0:00.00写回
20根 0 -20 0 0 0 S 0.0 0.0 0:00.00加密
当我运行 mpstat 时、我发现有很多 Net TX 软件。
root@AM335x-EVM:~# mpstat -i SCPU
Linux 4.4.4.19-rt25-gf572d285f0 (AM335x-EVM) 10/03/16 _armv7l_ (1个 CPU)
21:23:08 CPU Hi/s Timer/sNET_TX/s NET_RX/s BLOCK_IOPOLL/s TASKLET/s HRTIMER / s RCUT/s
21:23:08 0 0.01 100.51 23963.97 0.69 0.00 27.07 0.00 5.08 0.00
根目录@AM335x-EVM:~编号
我们的 SDK 版本是
TI-PROCESSOR-SDK-LINUX-RT-AM335x-EVM-03.01.00.06
我附加了日志和 DTS 文件。 以及硬件 circuitse2e.ti.com/.../400_2D00_0081_2D00_011.pdfe2e.ti.com/.../am335-rt-throttling.txte2e.ti.com/.../aap-dts.txt