|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xsave=0 workaround needed on 3.2 kernels with Xen 4.1 or Xen-unstable.
On 05/09/2012 11:38 AM, Konrad Rzeszutek Wilk wrote: And finally one always has to keep in mind that there is this nice glibc bug in that in some versions it is failing to look at CPUID.OSXSAVE when trying to determine whether AVX or FMA is available. [ ... ]I think Uli's position is that this code only uses AVX encodings, but not the YMM registers and thus the right check is for AVX. That doesn't make sense to me given the text under availability and support here: http://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions/According to my reading AVX can only be used if the hardware supports AVX *and* the OS supports XSAVE. The only weasel language is "To use the Intel AVX extensions reliably in most settings ..." Which Uli might be relying upon for his position.
Ironically, the code in init-arch used to look like:
if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
{
/* Reset the AVX bit in case OSXSAVE is disabled. */
if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &
bit_OSXSAVE) == 0
|| ({ unsigned int xcrlow;
unsigned int xcrhigh;
asm ("xgetbv"
: "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
(xcrlow & 6) != 6; }))
__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx &= ~bit_AVX;
}
Which I think would have done the right thing. Uli changed it to the
form you quoted just 2 hours after installing the version I quoted.
If i'm going to make the claim Uli is wrong, some clarification from Intel would be appreciated. jeff _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |