]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Fix the selection of the fast CRC32 path in Ceph Luminous. ceph-luminous
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 8 Mar 2018 13:40:17 +0000 (14:40 +0100)
committerKefu Chai <tchaikov@gmail.com>
Mon, 12 Mar 2018 01:58:51 +0000 (09:58 +0800)
commitb181f1714a4baecaf7dff4c8417b20f5e6a41585
tree8af1b6feee31c2015e466f850f260517f859a011
parentce646987147317250c603bcde0a5daff37b59c0a
Fix the selection of the fast CRC32 path in Ceph Luminous.

This ugly patch selectively adds the `-msse4.2` for compiling
`util/crc32c.cc` file when a building machine's toolchain had
successfully compiled a simple test program. The CXXFLAGS are
enriched even when `WITH_SSE42` is not set as, in Ceph, there
is no possibility to use the global switch because of lack of
proper run-time SSE4.2 check in other places IIUC.

Although the problem is fixed in `master` of RocksDB, the fix
cannot be backported because the CRC32-related stuff diverged
too much (`HAVE_POWER8`, `HAVE_PCLMUL`, `NO_THREEWAY_CRC32C`).

The patch strictly targets Ceph Luminous branch.

Fixes: http://tracker.ceph.com/issues/22534
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
CMakeLists.txt
util/crc32c.cc