diff options
author | unknown <knielsen@knielsen-hq.org> | 2009-06-10 11:13:53 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2009-06-10 11:13:53 +0200 |
commit | d2d7b5bbb6796ee171ef605f5ea61cb782918b72 (patch) | |
tree | 934b8008ec7b77064ee02b3a86f7a4358cd2e83e /include | |
parent | bb9a3f0c2b46491ec3234f8a9df8612f88469b90 (diff) | |
download | mariadb-git-d2d7b5bbb6796ee171ef605f5ea61cb782918b72.tar.gz |
Fix XtraDB to build with atomic operations, for good performance.
The root of the problem is that ./configure mixed together two different things. One is the
availability of GCC atomic operation intrinsics. The other is the selection of which
primitives to use for my_atomic implementation.
Then at some point a hack was made to not use GCC intrinsics in my_atomic to work around
some test failures. But because the two things are mixed in ./configure, this as a side
effect also makes GCC intrinsics unavailable for XtraDB.
Fixed by splitting this in two in configure, so that we have HAVE_GCC_ATOMIC_BUILTINS for
GCC intrinsics availability and MY_ATOMIC_MODE_GCC_BUILTINS for use in my_atomic.
Diffstat (limited to 'include')
-rw-r--r-- | include/atomic/nolock.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/atomic/nolock.h b/include/atomic/nolock.h index cafd916981d..550b53adcd9 100644 --- a/include/atomic/nolock.h +++ b/include/atomic/nolock.h @@ -14,7 +14,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #if defined(__i386__) || defined(_MSC_VER) || \ - defined(__x86_64__) || defined(HAVE_GCC_ATOMIC_BUILTINS) + defined(__x86_64__) || defined(MY_ATOMIC_MODE_GCC_BUILTINS) # ifdef MY_ATOMIC_MODE_DUMMY # define LOCK_prefix "" @@ -22,7 +22,7 @@ # define LOCK_prefix "lock" # endif -# ifdef HAVE_GCC_ATOMIC_BUILTINS +# ifdef MY_ATOMIC_MODE_GCC_BUILTINS # include "gcc_builtins.h" # elif __GNUC__ # include "x86-gcc.h" |