Linux kernel ARM Linux中的虚拟核心热插拔支持

Linux kernel ARM Linux中的虚拟核心热插拔支持,linux-kernel,arm,virtualization,Linux Kernel,Arm,Virtualization,我试图了解ARM Linux SMP中对虚拟内核的热插拔支持,Linux操作系统作为虚拟机运行,参考: 如果Linux虚拟机在对应于物理内核ID 1和2的四核ARM 32位处理器上以max_CPU=2启动,那么内核0(假设其可用)以后是否可以热插拔为: echo 1>/sys/devices/system/cpu/cpu2/online 核心3为 echo 1>/sys/devices/system/cpu/cpu3/online 或者Linux内核会期望从较低的层(虚拟机监视器/硬件虚拟化)虚

我试图了解ARM Linux SMP中对虚拟内核的热插拔支持,Linux操作系统作为虚拟机运行,参考:

如果Linux虚拟机在对应于物理内核ID 1和2的四核ARM 32位处理器上以max_CPU=2启动,那么内核0(假设其可用)以后是否可以热插拔为:

echo 1>/sys/devices/system/cpu/cpu2/online

核心3为 echo 1>/sys/devices/system/cpu/cpu3/online


或者Linux内核会期望从较低的层(虚拟机监视器/硬件虚拟化)虚拟化核心id,从而将核心0表示为核心2吗

我不太确定您的假设是什么——这可能取决于虚拟机监控程序,但在KVM的情况下,VCPU通常安排在可用的物理内核上,这与正常进程非常相似,因此没有一对一映射。我很确定,只要您不想让8-vCPU虚拟机运行得太快,就可以在单核主机上运行它。@notlike谢谢您的回复。我猜这里的假设是,与所讨论的KVM不同,虚拟机监控程序不支持在可用内核上动态调度虚拟机。热插拔功能是否允许虚拟机有效利用内核?如果是,Linux是否需要任何cpu ID虚拟化。