diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:58:56 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:58:56 +0000 |
commit | d3f8c3d72830f996aec7f66f45d58f5f836e2b13 (patch) | |
tree | face63932bbf27af02c3e1f7281d20947cdcb584 | |
parent | Removing unneeded depends in ceph-mon for shorter dependency chains. (diff) | |
download | ceph-d3f8c3d72830f996aec7f66f45d58f5f836e2b13.tar.xz ceph-d3f8c3d72830f996aec7f66f45d58f5f836e2b13.zip |
Adding patches from upstream to fix CXXFLAGS in embedded rocksdb causing performance issues.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r-- | debian/patches/progress-linux/0001-rocksdb-cxxflags-1.patch | 23 | ||||
-rw-r--r-- | debian/patches/progress-linux/0002-rocksdb-cxxflags-2.patch | 30 | ||||
-rw-r--r-- | debian/patches/series | 2 |
3 files changed, 55 insertions, 0 deletions
diff --git a/debian/patches/progress-linux/0001-rocksdb-cxxflags-1.patch b/debian/patches/progress-linux/0001-rocksdb-cxxflags-1.patch new file mode 100644 index 000000000..113bb072a --- /dev/null +++ b/debian/patches/progress-linux/0001-rocksdb-cxxflags-1.patch @@ -0,0 +1,23 @@ +Author: Kefu Chai <tchaikov@gmail.com> +Description: cmake/modules/BuildRocksDB.cmake: use string(APPEND ..) when appropriate + less repeatings this way. + . + https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/thread/W5QEP4PM6G6L62W5PNJMGXU4Y26437XL/ + +diff -Naurp ceph.orig/cmake/modules/BuildRocksDB.cmake ceph/cmake/modules/BuildRocksDB.cmake +--- ceph.orig/cmake/modules/BuildRocksDB.cmake ++++ ceph/cmake/modules/BuildRocksDB.cmake +@@ -53,11 +53,11 @@ function(build_rocksdb) + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag("-Wno-deprecated-copy" HAS_WARNING_DEPRECATED_COPY) + if(HAS_WARNING_DEPRECATED_COPY) +- set(rocksdb_CXX_FLAGS -Wno-deprecated-copy) ++ string(APPEND rocksdb_CXX_FLAGS " -Wno-deprecated-copy") + endif() + check_cxx_compiler_flag("-Wno-pessimizing-move" HAS_WARNING_PESSIMIZING_MOVE) + if(HAS_WARNING_PESSIMIZING_MOVE) +- set(rocksdb_CXX_FLAGS "${rocksdb_CXX_FLAGS} -Wno-pessimizing-move") ++ string(APPEND rocksdb_CXX_FLAGS " -Wno-pessimizing-move") + endif() + if(rocksdb_CXX_FLAGS) + list(APPEND rocksdb_CMAKE_ARGS -DCMAKE_CXX_FLAGS='${rocksdb_CXX_FLAGS}') diff --git a/debian/patches/progress-linux/0002-rocksdb-cxxflags-2.patch b/debian/patches/progress-linux/0002-rocksdb-cxxflags-2.patch new file mode 100644 index 000000000..88f03243f --- /dev/null +++ b/debian/patches/progress-linux/0002-rocksdb-cxxflags-2.patch @@ -0,0 +1,30 @@ +Author: Kefu Chai <tchaikov@gmail.com> +Description: cmake/modules/BuildRocksDB.cmake: inherit parent's CMAKE_CXX_FLAGS + CMake allows us to customize `CMAKE_CXX_FLAGS` by setting CXXFLAGS + environmental variable. and Debian's debhelper also sets CXXFLAGS + when it builds cmake projects for customizing the building flags. + . + but we fail to populate this setting down when building external + projects. this is important when it comes to the projects which + is critical to the performance. RocksDB is one of them. + . + in this change, we pass the `CMAKE_CXX_FLAGS` down in + `BuildRocksDB.cmake` so that its `CMAKE_CXX_FLAGS` contains + the same set of `CMAKE_CXX_FLAGS` used by its parent project. + . + this should help with the performance in the bluestore, where + RocksDB is used. + . + https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/thread/W5QEP4PM6G6L62W5PNJMGXU4Y26437XL/ + +diff -Naurp ceph.orig/cmake/modules/BuildRocksDB.cmake ceph/cmake/modules/BuildRocksDB.cmake +--- ceph.orig/cmake/modules/BuildRocksDB.cmake ++++ ceph/cmake/modules/BuildRocksDB.cmake +@@ -52,6 +52,7 @@ function(build_rocksdb) + endif() + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag("-Wno-deprecated-copy" HAS_WARNING_DEPRECATED_COPY) ++ set(rocksdb_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + if(HAS_WARNING_DEPRECATED_COPY) + string(APPEND rocksdb_CXX_FLAGS " -Wno-deprecated-copy") + endif() diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 000000000..f5320ab0e --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +progress-linux/0001-rocksdb-cxxflags-1.patch +progress-linux/0002-rocksdb-cxxflags-2.patch |