In den Kernel von Linux 6.13-rc3 wurde eine Änderung übernommen, die einen Leistungsrückgang im KVM-Hypervisor behebt, der mit einer langsamen Verarbeitung von CPUID-Aufrufen auf neuen CPUs verbunden ist. Beispielsweise werden auf Intel Emerald Rapids CPUs CPUID-Operationen 3-4 Mal langsamer ausgeführt als auf Intel Skylake CPUs. Dieses Merkmal führte zu einem Rückgang der KVM-Hypervisor-Leistung, der CPUID im Prozess des Speicherns und Wiederherstellens des CPU-Zustands bei jeder Übergabe der Kontrolle an die virtuelle Maschine, insbesondere bei der Verwendung von Nested Virtualization, verwendet. Um das Problem zu lösen, wurde ein verkürzter Patch in den Kernel 6.13 aufgenommen, der die Operationszeit selbst auf CPUs der Skylake-Familie um bis zu 40 % verkürzt, dank der Cache-Implementierung für CPUID. In Kernel 6.14 wird die vollständige Version des Patches vorgestellt, die die Leistung weiter verbessert.
Darüber hinaus kann erwähnt werden, dass in der Mailingliste der Linux-Kernel-Entwickler eine Diskussion über die Einstellung der Unterstützung von 32-Bit-Systemen im Hypervisor stattfand. KVM. Ursprünglich wurde ein Patch für den Kernel vorgeschlagen, der die Unterstützung für KVM-Virtualisierung auf der x86-32-Plattform entfernt. Als Reaktion äußerten einige Bedenken, dass die Unterstützung von x86-32 nützlich sein könnte, um die Funktionsweise des Host-Modus allgemein auf 32-Bit-Systemen zu testen, da im Kernel neben x86-32 noch drei weitere 32-Bit-Architekturen unterstützt werden, die in KVM integriert sind. Daraufhin wurde ein weiterer Patch vorgestellt, der diesmal die Unterstützung aller 32-Bit-Systeme aus KVM entfernt.
Der Wunsch, die Unterstützung für 32-Bit-Systeme loszuwerden, erklärt sich dadurch, dass selbst auf gängigen 32-Bit-ARM-Prozessoren wie dem ARM Cortex A7 die Virtualisierung nicht vorangekommen ist und die Verwendung virtuellen Maschinen auf 32-Bit-ARM-Systemen so selten war, dass die Unterstützung dieser Systeme im Jahr 2020 aus KVM entfernt wurde, ohne dass dies zu Widersprüchen führte. Es wird angemerkt, dass für andere 32-Bit-Systeme die Änderungen nur exotische Plattformen betreffen, die seit langem nicht mehr in der Praxis verwendet werden oder nie populär waren. Zu den Prozessoren, die von dem Patch betroffen sind, gehören: Intel Core Duo/Silverthorne, PowerPC e300/e500/e600 und MIPS P5600. Der Patch wurde als RFC veröffentlicht, das heißt, er wird zur Diskussion gestellt.
Quelle: opennet.ru
