Support > Knowledge Base
Knowledge Base

Search the Knowledge Base: |
Search the Knowledge Base: |
VMotion errors between different Intel 45nm Core 2 revisions
Symptoms
- An attempt to VMotion a virtual machine to another ESX host results in a message indicating the hosts are incompatible.
- The source and destination hosts both contain Intel 45nm Core 2 (Harpertown) processors, but are different CPU revisions (steppings).
- Known to affect Intel Xeon 5430, 5450 and E5460 CPUs.
- VirtualCenter reports the error:
Unable to migrate from <esx1> to <esx2> Host CPU is incompatible with the virtual machine's requirements at CPUID level 0x1 register 'ecx'
Purpose
By default, VirtualCenter only allows migrations with VMotion between compatible source and destination CPUs. Within a given processor family, the source and target CPUs must also have certain common and extended features implemented, depending on the specific feature, for VMotion to succeed.
CPU vendors frequently release chips with new features, and these features must be identified after their introduction to determine whether they can affect VMotion stability. With ESX 3.5 Update 2, the XSAVE feature (bit 26), introduced in a revision of the Intel 45nm Core 2 processors, has been identified as benign and as such, does not impact VMotion stability. While this does not cause any incompatibility when you use EVC, it can prevent VMotion in older ESX versions that are not aware of this feature bit.
The presence of this feature is exposed by ESX in the ecxFeat information in /proc/vmware/cpuinfo
The following are example values:
- Earlier 45nm Core 2 revisions (without XSAVE): 0x000ce3bd
- Later 45nm Core 2 revisions (with XSAVE): 0x040ce3bd
Resolution
To remedy this problem update your ESX hosts to 3.5 Update 2 (or later) or mask out the feature bits.
Perform one of the following two options to disable checks for this feature bit:
- Change the CPUID mask settings using the Advanced Settings of the virtual machine's Options tab.
Change level 1 ECX feature bit 26 to 0
Set ---- -0-- ---- ---- ---- ---- ---- ---- for this row.
- Override the masks on a per VirtualCenter basis, as outlined in VMotion CPU Compatibility - Migrations Prevented Due to CPU Mismatch - How to Override Masks (1993).
Additional Information
You may continue to see this issue in later ESX updates. This can occur when, during a VMotion from a host without this fix to a host with the fix, VirtualCenter intentionally inserts the CPUID masks from the source host into the configuration file (.vmx) of the virtual machine.
This mask overrides the defaults, and this bit continues to be checked for these virtual machines. You must manually remove all CPUID masks from the configuration file(s), via the configuration editor in VI Client or the CPUID mask editing tool in the Advanced Settings.
To manually remove the CPUID masks using the VI Client:
-
Power Off the virtual machine.
-
Right-click the virtual machine and click Edit Settings.
-
Click the Options tab.
-
Select CPUID Mask under Advanced.
-
Click Advanced.
-
Click Reset All to Default.
-
Click OK.
-
Click OK.
-
Power on the virtual machine and migrate.
Note: Any ESX hosts that support EVC do not care about this CPUID bit, so EVC is not mentioned here as a workaround.
Feedback
Actions
- KB Article: 1008315
- Updated: Aug 14, 2009
- Products:
VMware ESX
VMware ESXi
VMware VirtualCenter - Product Versions:
VMware ESX 2.5.x
VMware ESX 3.0.x
VMware ESX 3.5.x
VMware VirtualCenter 2.0.x
VMware VirtualCenter 2.5.x
VMware vCenter Server 4.0.x

