首页 > 解决方案 > 什么是“irqchip”?

问题描述

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

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

什么是“irqchip”?

标签: linuxlinux-kernelvirtualizationqemukvm

解决方案


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

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

默认的 QEMU 设置是使用内核中的 irqchip,这可以提供最佳性能。所以你不需要对这个命令行选项做任何事情,除非你知道你有一个特定的原因为什么内核中的 irqchip 不适合你。


推荐阅读