什么是“irqchip”?

626*_*16e 4 linux virtualization kvm qemu linux-kernel

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

Controls in-kernel irqchip support for the chosen accelerator when available
Run Code Online (Sandbox Code Playgroud)

什么是“irqchip”?

Pet*_*ell 11

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

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

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