Re: [tip:x86/fpu] x86: Add new static_cpu_has() function usingalternatives

From: Eric Dumazet
Date: Tue May 18 2010 - 16:10:59 EST


Le mercredi 12 mai 2010 Ã 01:06 +0000, tip-bot for H. Peter Anvin a
Ãcrit :
> Commit-ID: a3c8acd04376d604370dcb6cd2143c9c14078a50
> Gitweb: http://git.kernel.org/tip/a3c8acd04376d604370dcb6cd2143c9c14078a50
> Author: H. Peter Anvin <hpa@xxxxxxxxx>
> AuthorDate: Tue, 11 May 2010 17:47:07 -0700
> Committer: H. Peter Anvin <hpa@xxxxxxxxx>
> CommitDate: Tue, 11 May 2010 17:47:07 -0700
>
> x86: Add new static_cpu_has() function using alternatives
>
> For CPU-feature-specific code that touches performance-critical paths,
> introduce a static patching version of [boot_]cpu_has(). This is run
> at alternatives time and is therefore not appropriate for most
> initialization code, but on the other hand initialization code is
> generally not performance critical.
>
> On gcc 4.5+ this uses the new "asm goto" feature.

Might be time to change Documentation/Changes about gcc requirements ...

# make
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/x86/kernel/process_32.o
/usr/src/linux-2.6/arch/x86/include/asm/cpufeature.h: In function
`prepare_to_copy':
/usr/src/linux-2.6/arch/x86/include/asm/cpufeature.h:315: warning: asm
operand 1 probably doesn't match constraints
/usr/src/linux-2.6/arch/x86/include/asm/cpufeature.h:315: error:
impossible constraint in `asm'
/usr/src/linux-2.6/arch/x86/include/asm/cpufeature.h:313: warning:
'flag' might be used uninitialized in this function
make[2]: *** [arch/x86/kernel/process_32.o] Error 1
make[1]: *** [arch/x86/kernel] Error 2
make: *** [arch/x86] Error 2
# gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk
--host=i386-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)



--
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/