From: Ganesh Mahalingam Date: Wed, 31 May 2017 15:10:24 +0000 (-0700) Subject: Update isa-l to v2.18 X-Git-Tag: v12.1.1~143^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F15895%2Fhead;p=ceph.git Update isa-l to v2.18 This upgrade brings - Complete rewrite of DEFLATE optimizations resulting in 5X better throughput and compression ratios comapred to zlib, lz4, lzo and 2X better decompression performance when compared to zlib. - AVX512 improvements to multi-buffer versions of MD5, SHA-1 and SHA-256 cryptographic hashing functions resulting in 3X better in performance compared to the AVX2 generation. This update improves bluestore compression and potential to improve dedup performance. Testing this patch with objectstore fio yeided a max of 37% increase in compression performance. Fio Params: rw=randwrite,buffer_compress_percentage=50,nr_files=64,direct=1,buffered=0,size=4G,bs=64k Test Avg BlueStore Compression Time v2.16(us) v2.18(us) iodepth=1,jobs=1 241.658 175.476 27.39% iodepth=2,jobs=2 184.174 145.861 20.80% iodepth=4,jobs=4 143.617 104.392 27.31% iodepth=8,jobs=8 146.984 116.505 20.74% iodepth=16,jobs=8 180.167 112.769 37.41% Signed-off-by: Ganesh Mahalingam Signed-off-by: Tushar Gohad --- diff --git a/src/compressor/zlib/CMakeLists.txt b/src/compressor/zlib/CMakeLists.txt index 635c730b50b3..1b3bc259a351 100644 --- a/src/compressor/zlib/CMakeLists.txt +++ b/src/compressor/zlib/CMakeLists.txt @@ -4,21 +4,31 @@ if(HAVE_INTEL_SSE4_1 AND HAVE_BETTER_YASM_ELF64) set(zlib_sources CompressionPluginZlib.cc ZlibCompressor.cc - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc32_gzip.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc32_gzip_base.c + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/detect_repeated_char.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df.c + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df_04.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/flatten_ll.c + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/huff_codes.c ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/hufftables_c.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc_utils_01.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc_utils_04.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body_01.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body_02.asm ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body_04.asm ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_finish.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_stateless_01.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_stateless_04.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc_data.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/crc32_gzip.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/detect_repeated_char.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_base.c + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_01.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_02.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_04.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_finish.asm ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_multibinary.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_stateless_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_01.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_04.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/proc_heap.asm + ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/rfc1951_lookup.asm ) else(HAVE_INTEL_SSE4_1 AND HAVE_BETTER_YASM_ELF64) set(zlib_sources diff --git a/src/erasure-code/isa/CMakeLists.txt b/src/erasure-code/isa/CMakeLists.txt index c205e367c26a..6f9f97d58e05 100644 --- a/src/erasure-code/isa/CMakeLists.txt +++ b/src/erasure-code/isa/CMakeLists.txt @@ -64,7 +64,7 @@ add_library(ec_isa SHARED add_dependencies(ec_isa ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) target_link_libraries(ec_isa ${EXTRALIBS}) set_target_properties(ec_isa PROPERTIES - VERSION 2.16.0 + VERSION 2.18.0 SOVERSION 2 INSTALL_RPATH "") install(TARGETS ec_isa DESTINATION ${erasure_plugin_dir}) diff --git a/src/isa-l b/src/isa-l index 8faa0a2802e9..7e1a337433a3 160000 --- a/src/isa-l +++ b/src/isa-l @@ -1 +1 @@ -Subproject commit 8faa0a2802e95ab5c782d2f7036db92c9d19686e +Subproject commit 7e1a337433a340bc0974ed0f04301bdaca374af6