summaryrefslogtreecommitdiff
path: root/storage/innobase/include/ut0crc32.h
diff options
context:
space:
mode:
authorDaniel Axtens <dja@axtens.net>2015-11-27 15:18:48 +1100
committerDaniel Black <daniel.black@au.ibm.com>2015-12-15 15:11:17 +1100
commit2538c7cf89aca60c56d4e6f9fad84723c2a3b015 (patch)
tree9c597a87d1e352cf49376bc556e3a00d57259b6e /storage/innobase/include/ut0crc32.h
parent44b107da90a106c128dca278d04c68d804e51497 (diff)
downloadmariadb-git-2538c7cf89aca60c56d4e6f9fad84723c2a3b015.tar.gz
Use POWER8 accelerated crc32
- Make accelerated checksum available to InnoDB and XtraDB. - Fall back to slice-by-eight if not available. The mode used is printed on startup. - Will only build on POWER systems at the moment until CMakeLists are modified to only add the crc32_power8/ files when building on POWER. running MySQL-5.7 unittest/gunit/innodb/ut0crc32-t Before: 1..2 Using software crc32 implementation, CPU is little-endian ok 1 Using software crc32 implementation, CPU is little-endian normal CRC32: real 0.148006 sec normal CRC32: user 0.148000 sec normal CRC32: sys 0.000000 sec big endian CRC32: real 0.144293 sec big endian CRC32: user 0.144000 sec big endian CRC32: sys 0.000000 sec ok 2 After: 1..2 Using POWER8 crc32 implementation, CPU is little-endian ok 1 Using POWER8 crc32 implementation, CPU is little-endian normal CRC32: real 0.008097 sec normal CRC32: user 0.008000 sec normal CRC32: sys 0.000000 sec big endian CRC32: real 0.147043 sec big endian CRC32: user 0.144000 sec big endian CRC32: sys 0.000000 sec ok 2 Author CRC32 ASM code: Anton Blanchard <anton@au.ibm.com> ref: https://github.com/antonblanchard/crc32-vpmsum Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
Diffstat (limited to 'storage/innobase/include/ut0crc32.h')
-rw-r--r--storage/innobase/include/ut0crc32.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/storage/innobase/include/ut0crc32.h b/storage/innobase/include/ut0crc32.h
index 86217692764..af6f0bc74e7 100644
--- a/storage/innobase/include/ut0crc32.h
+++ b/storage/innobase/include/ut0crc32.h
@@ -47,5 +47,6 @@ typedef ib_uint32_t (*ib_ut_crc32_t)(const byte* ptr, ulint len);
extern ib_ut_crc32_t ut_crc32;
extern bool ut_crc32_sse2_enabled;
+extern bool ut_crc32_power8_enabled;
#endif /* ut0crc32_h */