]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: enable SSE-assisted CRC32 calculations in RocksDB. 13741/head
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Thu, 2 Mar 2017 06:57:33 +0000 (07:57 +0100)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Sun, 5 Mar 2017 22:38:30 +0000 (22:38 +0000)
commit939c20a52907573103b4de08aab7192f3dff7948
tree6ebbc60eedc5a2759deebc5d9b04e096997d6fb1
parent911fbf30a0ae57447c411569df4d53991606ef56
os/bluestore: enable SSE-assisted CRC32 calculations in RocksDB.

By default RocksDB extensively employs CRC32. It has two paths
for the checksum calculation:
 * rocksdb::crc32c::Slow_CRC32,
 * rocksdb::crc32c::Fast_CRC32.

The fast path depends on a run-time discovery of CPU capabilities
AND a compile-time define __SSE4_2__. Although my systems really
offer SSE4.2 support, the macro was undefined resulting in poor
RocksDB performance visible especially during WAL transactions.

The patch (awkwardly) adds the -msse4.2 to CXXFLAGS for RocksDB.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
src/CMakeLists.txt