From 2b0587db958936472b566ba5b559b31954279688 Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Thu, 7 Apr 2022 18:03:42 +0800 Subject: [PATCH] runtime: VMX is migratible in vm factory case We are not spinning up any L2 guests in vm factory, so the L1 guest migration is expected to work even with VMX. See https://www.linux-kvm.org/page/Nested_Guests Fixes: #4050 Signed-off-by: Peng Tao --- src/runtime/virtcontainers/qemu_amd64.go | 13 ------------- src/runtime/virtcontainers/qemu_amd64_test.go | 2 +- src/runtime/virtcontainers/qemu_ppc64le.go | 4 ---- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/src/runtime/virtcontainers/qemu_amd64.go b/src/runtime/virtcontainers/qemu_amd64.go index e6bc54b04d..9cc0f600e4 100644 --- a/src/runtime/virtcontainers/qemu_amd64.go +++ b/src/runtime/virtcontainers/qemu_amd64.go @@ -167,19 +167,6 @@ func (q *qemuAmd64) bridges(number uint32) { q.Bridges = genericBridges(number, q.qemuMachine.Type) } -func (q *qemuAmd64) cpuModel() string { - cpuModel := defaultCPUModel - - // VMX is not migratable yet. - // issue: https://github.com/kata-containers/runtime/issues/1750 - if q.vmFactory { - hvLogger.WithField("subsystem", "qemuAmd64").Warn("VMX is not migratable yet: turning it off") - cpuModel += ",vmx=off" - } - - return cpuModel -} - func (q *qemuAmd64) memoryTopology(memoryMb, hostMemoryMb uint64, slots uint8) govmmQemu.Memory { return genericMemoryTopology(memoryMb, hostMemoryMb, slots, q.memoryOffset) } diff --git a/src/runtime/virtcontainers/qemu_amd64_test.go b/src/runtime/virtcontainers/qemu_amd64_test.go index e8cf9fcd54..740cb6460b 100644 --- a/src/runtime/virtcontainers/qemu_amd64_test.go +++ b/src/runtime/virtcontainers/qemu_amd64_test.go @@ -87,7 +87,7 @@ func TestQemuAmd64CPUModel(t *testing.T) { base, ok := amd64.(*qemuAmd64) assert.True(ok) base.vmFactory = true - expectedOut = defaultCPUModel + ",vmx=off" + expectedOut = defaultCPUModel model = amd64.cpuModel() assert.Equal(expectedOut, model) } diff --git a/src/runtime/virtcontainers/qemu_ppc64le.go b/src/runtime/virtcontainers/qemu_ppc64le.go index 27bac35818..6e62551b62 100644 --- a/src/runtime/virtcontainers/qemu_ppc64le.go +++ b/src/runtime/virtcontainers/qemu_ppc64le.go @@ -114,10 +114,6 @@ func (q *qemuPPC64le) bridges(number uint32) { q.Bridges = genericBridges(number, q.qemuMachine.Type) } -func (q *qemuPPC64le) cpuModel() string { - return defaultCPUModel -} - func (q *qemuPPC64le) memoryTopology(memoryMb, hostMemoryMb uint64, slots uint8) govmmQemu.Memory { q.Logger().Debug("Aligning maxmem to multiples of 256MB. Assumption: Kernel Version >= 4.11")