linux - 什么是 “irqchip” ?

标签 linux linux-kernel virtualization qemu kvm

引用 QEMU x86_64 机器选项 kernel_irqchip=on|off ,描述如下:

Controls in-kernel irqchip support for the chosen accelerator when available

什么是“irqchip”?

最佳答案

“irqchip”是 KVM 的名称,通常称为“中断 Controller ”。这是一种硬件,它接收大量中断信号(来自 USB Controller 、磁盘 Controller 、PCI 卡、串行端口等设备)并将它们呈现给 CPU,让 CPU 控制启用哪些中断,在新的中断到达时收到通知,解除已处理的中断,等等。

仿真系统 (VM) 需要一个仿真中断 Controller ,就像真正的硬件有一个真正的硬件中断 Controller 一样。在 KVM VM 中,可以像所有其他模拟设备一样将此模拟设备置于用户空间(即 QEMU)中。但是因为中断 Controller 与模拟中断的处理密切相关,所以当客户操作中断 Controller 时不得不在内核和用户空间之间频繁来回对性能不利。因此,KVM 在内核(“内核内 irqchip”)中提供了一个中断 Controller 的模拟,QEMU 可以使用它而不是在用户空间中提供自己的版本。 (至少在某些架构上,内核 irqchip 还能够使用硬件辅助来实现用户空间版本不能的中断处理虚拟化,这进一步提高了 VM 性能。)

默认的 QEMU 设置是使用内核中的 irqchip,这提供了最佳性能。因此,除非您知道内核中的 irqchip 不适合您的特定原因,否则您无需对此命令行选项执行任何操作。

关于linux - 什么是 “irqchip” ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61953540/

相关文章:

linux - kvm气球驱动程序导致不同的总内存然后请求

mysql - 如何使用 IP 直接从本地主机连接嵌套虚拟机?

java - 即使设置 JAVA_HOME 属性后也会出现错误

linux - 中断和自旋锁

curl下载文件的C程序

c - Linux中如何解决以/dev文件作为内核模块的读写操作?

memory - 现代系统中的内存管理和段错误(Linux)

powershell - 使用 PowerCLI 脚本从 ISO 镜像启动

python - 在 Linux 中结合两个 ping 命令

c - 最大线程和最佳线程