内核出错后 SATA I/O 速度变慢(SuperMicro X11SBA-LN4F)

内核出错后 SATA I/O 速度变慢(SuperMicro X11SBA-LN4F)

我正在用使用 SuperMicro X11SBA-LN4F 构建的新路由器替换我的(Gentoo)Linux 路由器。

我使用现有的 Gentoo Linux 路由器的配置作为起点(包括内核配置),在完成系统安装并启动新内核后,我注意到接触 SSD 的任何东西都慢得令人难以忍受(在二进制文件进入磁盘缓存之前执行它们、grub-mkconfig、尝试编译内核等)。

当我重新启动安装介质并 chroot 到安装时,一切都正常;这使我相信 I/O 问题是由安装介质内核和系统内核的不同引起的。

我注意到,在启动系统内核时,dmesg 中有一个内核 oops,而当我从安装媒体启动时它并没有出现:

[   14.325720] irq 19: nobody cared (try booting with the "irqpoll" option)
[   14.325728] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.19.23-gentoo #3
[   14.325731] Hardware name: Supermicro SYS-E200-9B/X11SBA-LN4F, BIOS 1.1a 01/23/2018
[   14.325733] Call Trace:
[   14.325742]  <IRQ>
[   14.325755]  dump_stack+0x5a/0x6f
[   14.325766]  __report_bad_irq+0x32/0xa9
[   14.325776]  note_interrupt+0x1cb/0x219
[   14.325786]  handle_irq_event_percpu+0x4d/0x6c
[   14.325793]  handle_irq_event+0x30/0x4e
[   14.325797]  handle_fasteoi_irq+0x7a/0xdf
[   14.325803]  handle_irq+0x19/0x1c
[   14.325810]  do_IRQ+0x3b/0xae
[   14.325819]  common_interrupt+0xf/0xf
[   14.325825]  </IRQ>
[   14.325834] RIP: 0010:cpuidle_enter_state+0x12b/0x17d
[   14.325841] Code: ff 45 84 ff 74 1d 9c 58 0f 1f 44 00 00 0f ba e0 09 73 09 0f 0b fa 66 0f 1f 44 00 00 31 ff e8 0a a4 c6 ff fb 66 0f 1f 44 00 00 <48> 89 d8 b9 e8 03 00 00 4c 29 e8 48 99 48 f7 f9 ba ff ff ff 7f 48
[   14.325844] RSP: 0018:ffff947af50dfea8 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffde
[   14.325850] RAX: ffff947af551f1c0 RBX: 0000000355e105c5 RCX: 000000000000001f
[   14.325853] RDX: 0000000355e105c5 RSI: 0000000050000000 RDI: 0000000000000000
[   14.325856] RBP: ffff947af5527070 R08: 0000000000000000 R09: 000000000001ea80
[   14.325858] R10: ffff947af50dfe88 R11: 00000011bcaf990c R12: 0000000000000001
[   14.325861] R13: 0000000355e0df64 R14: ffffffff9f05c538 R15: 0000000000000000
[   14.325869]  ? cpuidle_enter_state+0x102/0x17d
[   14.325874]  do_idle+0x191/0x214
[   14.325883]  cpu_startup_entry+0x6b/0x6d
[   14.325890]  start_secondary+0x18f/0x1ab
[   14.325897]  secondary_startup_64+0xa4/0xb0
[   14.325902] handlers:
[   14.325911] [<00000000f3c0e1a3>] ahci_single_level_irq_intr
[   14.325915] Disabling IRQ #19

这似乎是 AHCI 子系统中的某种故障,可能与控制 X11SBA-LN4F 板上的 Intel SATA 芯片组有关。我花了一些时间查看内核配置(并尝试启用/禁用各种 AHCI/libata 位)。我还尝试将“irqpoll”添加到内核启动参数中,但没有成功。此时我陷入了困境;Google 没有找到任何有用的信息来解决 ahci_single_level_irq_intr 的 IRQ 冲突,而且我对内核的了解还不够,不知道现在该去哪里查找。

内核配置

串行通信

消息

任何见解都将不胜感激!

相关内容