注释
|
根据我的记忆,同样的问题发生在 5.4.x 内核上,当我在上周最终追踪到内核之前与它进行了一段时间的斗争。5.4.x 内核是 Ubuntu 18.04.5 LTS 和 Ubuntu 20.04 LTS 中的默认内核。由于 Ubuntu 相当受欢迎,我认为很多人会遇到这种情况。至少让 bug 保持打开状态以便人们可以找到它会很好。 |
|
我正在运行带有内核 5.6.x-rt 的 Linux Mint 19.3,我遇到了类似的问题。对我来说问题是“IRQ 合并”。 1.) 安装“ethtool” 2.) 验证合并设置(应该全部读作“0”/rx-usecs 通常不是“0”) cnc@LinuxCNC:~$ ethtool -c enp3s0f0 enp3s0f0 rx-usecs: 0 tx-usecs:0 rx-usecs-low: 0 rx-usecs-high: 0 3.) 将设置更改为“0” 4.) 再次测试 |
|
谢谢 thomam04!不幸的是,你的建议对我没有影响,因为 rx-usecs-irq 已经是 0。看来 r8169 驱动程序一开始就不支持这个。此外,设置任何参数都会产生默认值,例如,我不能将 rx-frames 更改为 0,这不会发生。我的输出: turo@lathev2:~$ ethtool -c enp1s0 enp1s0 rx-usecs: 0 tx-usecs:0 rx-usecs-low: 0 rx-usecs-high: 0 我还尝试过禁用 irqbalance 并尝试设置 irq 亲和力以在一个 CPU 上独占该以太网端口,但无济于事。 |
|
我的总体印象是较新的内核会在相当长的时间内遭受延迟问题。我不希望 5.6 至少可以使用一年。 |
|
我在几台运行 2.9 的 PC 上遇到过同样的问题。当前的这个有 5.18-3-rt-amd64 内核。 john@cave:~$ uname -a 执行过程 lscpu |
|
如果 PC 有 Intel MAC,你是否禁用了 IRQ 合并? 通常 5.x 内核的网络延迟比 4.x 或更早的内核要差得多 |



这是我期望发生的事情:
没有问题
这是发生了什么:
在随机时间间隔内,我收到错误:“hm2/hm2.7i96.0:读取完成时出错。” 这指向读取超时。使用 Realtek 以太网控制器,最多可能需要 10 分钟才能超时。正如预期的那样,Linuxcnc 无法从此错误中恢复。
解决方法:在 BIOS 中将 # of CPU cores 设置为 1(单 CPU)。禁用超线程。
在此之前它工作正常:
安装并启动 4.19.x rt-kernel,即使启用所有 CPU 内核 + 超线程也没有问题。我没有尝试追踪注入点,可能在 4.19.x 和 5.6.x 内核之间的任何地方。
有关我的硬件和软件的信息:
我使用 Ubuntu 18.04.5 作为基础系统。
其中一个系统中的以太网控制器:
01:00.0 以太网控制器:Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express 千兆以太网控制器 (rev 06)
02:00.0 以太网控制器:Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express 千兆以太网控制器(修订版 06)
英特尔以太网控制器的表现似乎更糟,即您几乎立即超时。
http://ftp.debian.org/debian/pool/main/l/linux-signed-amd64/linux-image-5.6.0-0.bpo.2-rt-amd64_5.6.14-2~bpo10+1_amd64。债务
http://ftp.debian.org/debian/pool/main/l/linux-signed-amd64/linux-image-4.19.0-10-rt-amd64_4.19.132-1_amd64.deb
英特尔(R) 赛扬(R) CPU J1900 @ 1.99GHz
也在 i7 上重现。
00:00.0 主桥:英特尔公司凌动处理器 Z36xxx/Z37xxx 系列 SoC 事务寄存器(版本 0e)
00:02.0 VGA 兼容控制器:英特尔公司凌动处理器 Z36xxx/Z37xxx 系列图形和显示器(版本 0e)
00:13.0 SATA 控制器:英特尔公司凌动处理器 E3800 系列 SATA AHCI 控制器(版本 0e)
00:14.0 USB 控制器:英特尔公司凌动处理器 Z36xxx/Z37xxx、赛扬 N2000 系列 USB xHCI(版本 0e)
00:1a.0 加密控制器:英特尔公司凌动处理器 Z36xxx/Z37xxx Series Trusted Execution Engine (rev 0e)
00:1b.0 音频设备:Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller (rev 0e)
00:1c.0 PCI 桥:英特尔公司凌动处理器 E3800 系列 PCI Express 根端口 1(版本 0e)
00:1c.1 PCI 桥:英特尔公司凌动处理器 E3800 系列 PCI Express 根端口 2(版本 0e)
00:1c。 2 PCI 桥:英特尔公司凌动处理器 E3800 系列 PCI Express 根端口 3(版本 0e)
00:1c.3 PCI 桥:英特尔公司凌动处理器 E3800 系列 PCI Express 根端口 4(版本 0e)
00:1f.0 ISA 桥:英特尔公司凌动处理器 Z36xxx/Z37xxx 系列电源控制单元(版本 0e)
00:1f.3 SMBus:英特尔公司凌动处理器 E3800 系列 SMBus 控制器(版本 0e)
01:00.0 以太网控制器:瑞昱半导体有限公司 RTL8111/8168 /8411 PCI Express 千兆位以太网控制器(版本 06)
02:00.0 以太网控制器:Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
03:00.0 PCI 桥:Intel Corporation 82801 PCI Bridge (rev 41)