Re: AVX "Sandy Bridge" hardware issue?

From: Chris Friesen
Date: Tue Jul 12 2011 - 17:07:21 EST


On 07/12/2011 02:16 PM, MK wrote:

So I filed a glibc bug with fedora to that effect:

https://bugzilla.redhat.com/show_bug.cgi?id=720176

In which Andreas Schwab points out (rightly or wrongly) that according
to the /proc/cpuinfo from the slice, the processor actually does not
support AVX. However, the "model name", "Intel(R) Xeon(R) CPU
E31230", is according to this a Sandy Bridge processor with AVX:

http://en.wikipedia.org/wiki/Sandy_Bridge#Server_processors

And while I do not have access to the hardware, the provider is very
unequivocal about the fact that these are Sandy Bridges, which
apparently include AVX.

So I am looking for a next step to take in debugging this. The kernel
used on the slice (nb, openVZ does not allow for rolling your own) is
2.6.32 built with gcc 4.1.2. I think this may be prior to AVX support
in the kernel and gcc, but the glibc is 2.13, which apparently includes
it.

Does anyone have any idea why I would get this identical backtrace, and
a failed reproducer test, on hardware which supposedly supports AVX
(but not according to the kernel in /proc/cpuinfo)?

For what it's worth, Intel says the E31230 supports AVX as well:

http://ark.intel.com/Product.aspx?id=52271

so it's interesting that /proc/cpuinfo doesn't mention it. Certainly I'd consider that worth following up.


As far as I can tell, support for saving/restoring AVX registers was added in 2.6.30, but gcc 4.6 is needed for proper support to actually use the new instructions. However, given that you're using openVZ then if there is a bug in the kernel all it would take is one VPS slice using code built with a new compiler.

Chris

--
Chris Friesen
Software Developer
GENBAND
chris.friesen@xxxxxxxxxxx
www.genband.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/