Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

VMotion errors between different Intel 45nm Core 2 revisions (1008315)

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, 5250 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 issue, update your ESX hosts to ESX 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:
  1. 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.

  2. 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:
 
  1. Power Off the virtual machine.
  2. Right-click the virtual machine and click Edit Settings.
  3. Click the Options tab.
  4. Select CPUID Mask under Advanced.
  5. Click Advanced.
  6. Click Reset All to Default.
  7. Click OK.
  8. Click OK.
  9. 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.

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 19 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 19 Ratings
Actions
KB: