Bug 1254124
Summary: | -cpu $cpu-model,+invtsc doesn't support migration | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Pei Zhang <pezhang> |
Component: | qemu-kvm-rhev | Assignee: | Marcelo Tosatti <mtosatti> |
Status: | CLOSED NOTABUG | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.2 | CC: | chayang, ehabkost, juzhang, knoel, michen, mtosatti, qzhang, virt-maint, xfu |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-08-17 16:43:34 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Pei Zhang
2015-08-17 08:37:44 UTC
Eduardo, Is it a valid problem?
> When using '-cpu host,+invtsc', migration works well.
I thought any use of invtsc should disallow live migration. Marcelo?
This is expected. We must block migration if invtsc is enabled, and it would be a bug if we didn't block it. (In reply to Eduardo Habkost from comment #4) > This is expected. We must block migration if invtsc is enabled, and it would > be a bug if we didn't block it. According to Comment 4, using '-cpu host,+invtsc' should also disallow live migration, but it it allowed. Only using'-cpu $cpu-model,+invtsc' can not migrate. (In reply to zhangpei from comment #5) > (In reply to Eduardo Habkost from comment #4) > > This is expected. We must block migration if invtsc is enabled, and it would > > be a bug if we didn't block it. > > According to Comment 4, using '-cpu host,+invtsc' should also disallow live > migration, but it it allowed. Only using'-cpu $cpu-model,+invtsc' can not > migrate. You should always test using either "enforce" or "check" flags ("enforce" is preferred). invtsc is being silently disabled because "-cpu host" runs with migratable=on by default, and it prevents unmigratable features from being enabled. With -cpu host, you need "-cpu host,migratable=off,+invtsc,enforce". I know it is confusing, but we had to do it to make sure "-cpu host" is a migratable CPU model by default (as long as host CPU, host QEMU version and host kernel stay the same). (In reply to Eduardo Habkost from comment #6) > (In reply to zhangpei from comment #5) > > (In reply to Eduardo Habkost from comment #4) > > > This is expected. We must block migration if invtsc is enabled, and it would > > > be a bug if we didn't block it. > > > > According to Comment 4, using '-cpu host,+invtsc' should also disallow live > > migration, but it it allowed. Only using'-cpu $cpu-model,+invtsc' can not > > migrate. > > You should always test using either "enforce" or "check" flags ("enforce" is > preferred). invtsc is being silently disabled because "-cpu host" runs with > migratable=on by default, and it prevents unmigratable features from being > enabled. With -cpu host, you need "-cpu > host,migratable=off,+invtsc,enforce". I know it is confusing, but we had to > do it to make sure "-cpu host" is a migratable CPU model by default (as long > as host CPU, host QEMU version and host kernel stay the same). Hi Eduardo, Thanks for your explain. I tried according to Comments 6 and now understand this cpu flag well. # /usr/libexec/qemu-kvm -cpu host,+invtsc,enforce -monitor stdio QEMU 2.3.0 monitor - type 'help' for more information (qemu) warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23] warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24] warning: host doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8] qemu-kvm: Host doesn't support requested features # /usr/libexec/qemu-kvm -cpu host,migratable=off,+invtsc,enforce -monitor stdio QEMU 2.3.0 monitor - type 'help' for more information (qemu) VNC server running on `::1:5900' (qemu) migrate -d tcp:10.66.12.153:6666 migrate: State blocked by non-migratable device 'cpu' |