标签: interrupts

以太网 smp_affinity 与 /proc/interrupts 与 /sys/class/net/ethX/device

我的目标是为自定义低延迟网络程序配置我们的 CentOS(“免费”RHEL)5.x 服务器。我想尝试将以太网 NIC 中断处理绑定到程​​序运行的同一 CPU(希望提高缓存利用率)。此过程的第一步是确定 NIC 的 IRQ。

以下是一台服务器上 /proc/interrupts 的内容(请注意,为了简洁起见,我删除了 CPU 2 到 14):

           CPU0       CPU1       CPU15
  0:  600299726          0          0    IO-APIC-edge  timer
  1:          3          0          0    IO-APIC-edge  i8042
  8:          1          0          0    IO-APIC-edge  rtc
  9:          0          0          0   IO-APIC-level  acpi
 12:          4          0          0    IO-APIC-edge  i8042
 50:          0          0          0   IO-APIC-level  uhci_hcd:usb6, uhci_hcd:usb8
 58:       6644      25103          0   IO-APIC-level  ioc0
 66:          0          0          0   IO-APIC-level  ata_piix
 74:        221     533830          0   IO-APIC-level  ata_piix
 98:         35          0    2902361       PCI-MSI-X  eth1-0 …
Run Code Online (Sandbox Code Playgroud)

linux ethernet interrupts irq

5
推荐指数
1
解决办法
5407
查看次数

BSD 50% 中断利用率在 irq0/clock

在 Atom 450 上的 OpenBSD 上,在 BIOS 中配置了 HPET 而不是,还有超线程/ACPI 开关,似乎没有什么区别。

这是我的 vmstat -iz

# vmstat 2
 procs    memory       page                    disk traps          cpu
 r b w    avm     fre  flt  re  pi  po  fr  sr wd0  int   sys   cs us sy id
 0 0 0   3488  981792  429   0   0   0   0   0  35 295771   906   89  1 51 48
 0 0 0   3492  981788   12   0   0   0   0   0   0 278490    37   10  0 50 50
^C
# vmstat …
Run Code Online (Sandbox Code Playgroud)

performance openbsd kernel bsd interrupts

5
推荐指数
1
解决办法
805
查看次数

x86_64 linux 中的系统调用是否仍会产生中断?

在旧版本的 linux 架构中,系统调用在执行过程中总是会产生中断。它们将通过将系统调用号设置为 %eax 并将参数设置为 %ebx、%ecx 等,然后发出特定中断 int 0x80 来执行。因此,系统调用可以说是系统上软件中断的常见原因。

然而,在 x86_64 的现代体系结构上,有一个特定的系统调用指令“syscall”,它绕过了使用中断 0x80 的需要,因此根本不需要中断描述符表。虽然我相信之前为 syscall 生成中断的方法仍然受支持,但 syscall 指令似乎是在实践中完成的方式。

因此,我的问题是:说系统调用产生中断是否不再正确?例如,系统调用是否仍会增加在 vmstat 的“中断”列输出中看到的数字?

linux interrupts

5
推荐指数
1
解决办法
925
查看次数

禁用 VT-d 和中断重新映射会破坏 MSI-X 吗?

所以我有一台Dell PowerEdge R610服务器正在运行Debian Jessie,根据一些文档,它的芯片组有问题:https : //www.novell.com/support/kb/doc.php?id=7014344 ( Intel 5500 rev 13)。

提供的外壳测试确认了该芯片组的存在: lspci -nn | grep -qE '8086:(340[36].*rev 13|3405.*rev (12|13|22))' && echo "Interrupt remapping is broken"

它已VT-d在 BIOS中禁用并已GRUB_CMDLINE_LINUX_DEFAULT="quiet intremap=off"添加到/etc/grub/default.

我的问题是,这是否会影响MSI-XNIC 卡的功能(哪个应该在内核之间传播中断)?

在这个特定的服务器上,确实只有一个内核在服务中断,但我不确定这是否是禁用 BIOS 和内核设置的结果。或者还有其他什么东西在起作用?

(不幸的是,我无法访问 BIOS 来更改设置并在功能打开的情况下进行测试)。

谢谢你。

            CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
   0:         43          0          0          0          0          0          0          0   IO-APIC-edge      timer
   1:          3          0          0          0          0          0          0          0 …
Run Code Online (Sandbox Code Playgroud)

debian intel interrupts dell-poweredge broadcom

2
推荐指数
1
解决办法
2263
查看次数

替代 /proc/interrupts

我想获取有关分配给我的网卡的中断的信息。除了 /proc/interrupts 之外,还有其他方法吗?

networking linux interrupts

0
推荐指数
1
解决办法
1829
查看次数