Messages in this thread | | | Date | Thu, 17 Nov 2011 10:33:17 +0000 | From | "Jan Beulich" <> | Subject | your patch "crypto: sha1 - SSSE3 based SHA1 implementation for x86-64" vs xsave |
| |
Mathias,
in avx_usable() you use cpu_has_osxsave to determine whether AVX can actually be used, but I can't see how that conditional would ever evaluate to true. Checking CPUID.OSXSAVE is actually a user land requirement, whereas in the kernel you should really look at kernel internal variables to determine whether xsave was enabled (or, if you really want to stay with using cpu_has_osxsave you'd have to force re-execution of get_cpu_cap() after xsave got enabled on individual CPUs), namely mmu_cr4_features having X86_CR4_OSXSAVE set.
Additionally, under a hypervisor, CPUID.OSXSAVE may be set (due to the hypervisor having enabled xsave), while the kernel may be running with xsave disabled (e.g. due to a command line option saying so).
Thanks, Jan
| |