Ok, so trimming down to the relevant pieces, we have:

On 11/07/2024 12:09 pm, Fonyuy-Asheri Caleb wrote:
> =========================================================================================================
> Source server xen-cpuid -p
> =========================================================================================================
> Raw policy: 32 leaves, 2 MSRs
> ...
>   00000001:ffffffff -> 000306f2:00100800:7ffefbff:bfebfbff
> ...
>   0000000d:00000000 -> 00000007:00000000:00000340:00000000
>   0000000d:00000001 -> 00000001:00000000:00000000:00000000
>   0000000d:00000002 -> 00000100:00000240:00000000:00000000

Haswell, with AVX, and ...

> PV Default policy: 31 leaves, 2 MSRs
> ...
>   0000000d:00000000 -> 00000007:00000000:00000340:00000000
>   0000000d:00000001 -> 00000001:00000000:00000000:00000000
>   0000000d:00000002 -> 00000100:00000240:00000000:00000000

... AVX available to PV guests.

On the target, something very different.  We have ...

> =========================================================================================================
> Target server xen-cpuid -p
> =========================================================================================================
> Raw policy: 39 leaves, 2 MSRs
> ...
>   00000001:ffffffff -> 00050654:00200800:7ffefbff:bfebfbff

Skylake. (Which is very much not a Haswell.)

>   0000000d:00000000 -> 000002ff:00000000:00000a88:00000000
>   0000000d:00000001 -> 0000000f:00000000:00000100:00000000
>   0000000d:00000002 -> 00000100:00000240:00000000:00000000
>   0000000d:00000003 -> 00000040:000003c0:00000000:00000000
>   0000000d:00000004 -> 00000040:00000400:00000000:00000000
>   0000000d:00000005 -> 00000040:00000440:00000000:00000000
>   0000000d:00000006 -> 00000200:00000480:00000000:00000000
>   0000000d:00000007 -> 00000400:00000680:00000000:00000000
>   0000000d:00000008 -> 00000080:00000000:00000001:00000000
>   0000000d:00000009 -> 00000008:00000a80:00000000:00000000

and AVX, MPX(x2), AVX512(x3), PROC_TRACE and PKRU.

> Host policy: 38 leaves, 2 MSRs
>  CPUID:
>   leaf     subleaf  -> eax      ebx      ecx      edx     
>   00000000:ffffffff -> 0000000d:756e6547:6c65746e:49656e69
>   00000001:ffffffff -> 00050654:00200800:47fee3ff:bfebfbff
>   00000002:ffffffff -> 76036301:00f0b5ff:00000000:00c30000
>   00000004:00000000 -> 3c004121:01c0003f:0000003f:00000000
>   00000004:00000001 -> 3c004122:01c0003f:0000003f:00000000
>   00000004:00000002 -> 3c004143:03c0003f:000003ff:00000000
>   00000004:00000003 -> 3c07c163:0280003f:00004fff:00000004
>   00000007:00000000 -> 00000000:029cffdb:00000008:bc002400
>   0000000d:00000000 -> 0000021b:00000000:00000a88:00000000
>   0000000d:00000001 -> 0000000f:00000000:00000000:00000000
>   0000000d:00000003 -> 00000040:000003c0:00000000:00000000
>   0000000d:00000004 -> 00000040:00000400:00000000:00000000
>   0000000d:00000009 -> 00000008:00000a80:00000000:00000000

Xen has only chosen to activate MPX(x2) and PKRU, and indeed...


> PV Default policy: 30 leaves, 2 MSRs
> ...
>   0000000d:00000000 -> 00000003:00000000:00000240:00000000
>   0000000d:00000001 -> 00000007:00000000:00000000:00000000

... PV guests get nothing, while you're trying to migrate in a guest
which...

> =========================================================================================================
> VM xen-cpuid -p $domid
> ---------------------------------------------------------------------------------------------------------
> Domain 3 policy: 31 leaves, 2 MSRs
> ...
>   0000000d:00000000 -> 00000007:00000000:00000340:00000000
>   0000000d:00000001 -> 00000001:00000000:00000000:00000000
>   0000000d:00000002 -> 00000100:00000240:00000000:00000000

... has AVX.

This explains why you're hitting the "guest size > xen size" check.

Migration should have failed earlier with a clearer message about the VM
having features not available on the target, but I suspect I know why it
didn't, and sadly its an item I've had on the todo list for a few years.

Perhaps the more important question, are you booting the skylake with
cpuid=no-avx on the command line by any chance?

~Andrew

Reply via email to