VMware Cloud Community
AllBlack
Expert
Expert

Vmotion issues with SSE support.

Hi there,

I am having some issues with different SSE values. I am trying to understand it all a bit better so I can get vmotion to go.

Here are details as shown by CPUID tool:

ESX1: Intel Quad Core 5345 (2cpu) , 2.33 Ghz, SSE support: 1,2,3 and ssse3, hypertreading: yes, 64-bit vmware: yes,nd/xd:no

ESX2: Intel Quad Core 5345 (2cpu) , 3.16 Ghz, SSE Support: 1,2,3 and ssse3, 4.1, hypertreading: yes, 64-bit vmware: yes.nd/xd: no

When trying to Vmotion from ESX1 to ESX2 I get an error stating:

The CPU of the host is incompatible with the cpu feature requirements of virtual machine; problem detected at CPUID level 0x1 register 'ecx'.

host bits: 0000:0000:1100:1110:0011:1011:1101

required: 0000:0000:0000:010x:xxx0::0x1x:xxx1:x101

Mismatch detected for these features : SSE4.1 -> kb1993

I did hide the nd/dx feature but that does not resolve the problem. I suppose I need to modify the mask on this occassion?

Here I get somewhat confused,

Do I need to do it on every virtual machine? The idea is to build a DRS cluster so I assume that these mask modifications needs to be made on every single one of them as DRS uses vmotion. That will be quite a task in our environment.

How do I set this exactly under "cpu identfication mask/virtual machine default" Given the error do I fill in something for ecx under level0 and level1?

Cheers

Please consider marking my answer as "helpful" or "correct"
Tags (3)
0 Kudos
7 Replies
AllBlack
Expert
Expert

I added the required value for ecx to level 1 and level 2 and I am able to migrate now.

Is this the right way of doing things? I think I read something about vmware not recommending it?

Plus I am still not keen on setting it each time for every VM. Am I better off matching the physical CPU?

Please consider marking my answer as "helpful" or "correct"
0 Kudos
IB_IT
Expert
Expert

applying the sse4.1 mask is not supported I don't think. If you can, I would upgrade your older Intel CPU's to match the later ones. Besides this one difference in CPU, are your hosts the same hardware? In case you haven't seen this...

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1993&slice...

0 Kudos
AllBlack
Expert
Expert

Both servers are HP DL380G5. The only real difference is the CPU

The speed and cache differs but that should not be a problem.

The newer box (Quad core x5460) supports SSE 4.1 and the older one (Quad core E5345) supports SSE 3 and SSSE 3.

SSSE 3 is the highest common denominator but obviously that it is not how it works?

Please consider marking my answer as "helpful" or "correct"
0 Kudos
JimClark
Contributor
Contributor

What was the masks you put in? I am running into the same problem and would like to solve by putting it into the cfg file on the VC server.

Thanks,

Jim

0 Kudos
JimClark
Contributor
Contributor

I put "


-
-
0--- -
-
-
-
" in the level 1ecx mask for a guest. Powered it on and then tried to vmotion it. It was able to move to the newer server. So I then moved that to the configuration file for virtual center to make it global. I restarted the service and none of the machines willvmotion to the newer server. I put this into the configuration file:

<guestOSDescriptor>

<esx-3-x-x>

<all-versions>

<all-guests>

<cpuFeatureMask>

<default-vendor>

<level-1>

<ecx>--:::smileyshocked:-:--:::--</ecx>

</level-1>

</default-vendor>

</cpuFeatureMask>

</all-guests>

</all-versions>

</esx-3-x-x>

</guestOSDescriptor>

0 Kudos
vm-au-user
Contributor
Contributor

Did you get the above to work globally? When i added the -


-


-


0--- -


-


-


-


line to the VM I am able to Vmotion. But when i remove this from the VM add the entry to vpxd.cfg and restart the VCenter Server it doesn't work. Have i missed something? Here is part of my config.

<vpxd>

<das>

<serializeadds>true</serializeadds>

<slotMemMinMB>256</slotMemMinMB>

<slotCpuMinMHz>256</slotCpuMinMHz>

</das>

<filterOverheadLimitIssues>true</filterOverheadLimitIssues>

<guestOSDescriptor>

<esx-3-5-x>

<all-versions>

<all-guests>

<cpuFeatureMask>

<intel>

<level-1>

<ecx>---- -


-


0--- -


-


-


-


</ecx>

</level-1>

</intel>

</cpuFeatureMask>

</all-guests>

</all-versions>

</esx-3-5-x>

</guestOSDescriptor>

</vpxd>

0 Kudos
tklose
Enthusiast
Enthusiast

I had the same issue where it did not work in the cfg file.

The mask is CASE sensitive, and you need to use an capitol X in the string. (not a 0)

<guestOSDescriptor>

<esx-3-x-x>

<all-versions>

<all-guests>

<cpuFeatureMask>

<default-vendor>

<level-1>

<ecx>--:::X-:--:::--</ecx>

</level-1>

</default-vendor>

</cpuFeatureMask>

</all-guests>

</all-versions>

</esx-3-x-x>

</guestOSDescriptor>

0 Kudos