From b19be107f4bcefce1380645d4958133d0e7ae31b Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Fri, 14 Feb 2020 01:04:39 +0300 Subject: [PATCH] os/bluestore: add hybrid (avl+bitmap) allocator Signed-off-by: Igor Fedotov (cherry picked from commit c90eee34955734a5d4d2d4f0d1ff04b275374fb1) Conflicts: src/os/CMakeLists.txt src/test/objectstore/Allocator_bench.cc src/test/objectstore/Allocator_test.cc src/test/objectstore/CMakeLists.txt GTEST_SKIP not available, +trivial --- src/common/options.cc | 3 +- src/os/CMakeLists.txt | 1 + src/os/bluestore/Allocator.cc | 7 + src/os/bluestore/Allocator.h | 3 + src/os/bluestore/BitmapAllocator.h | 2 + src/os/bluestore/HybridAllocator.cc | 219 +++++++++++++++++ src/os/bluestore/HybridAllocator.h | 46 ++++ src/test/objectstore/Allocator_bench.cc | 4 +- src/test/objectstore/Allocator_test.cc | 40 ++- src/test/objectstore/CMakeLists.txt | 14 ++ src/test/objectstore/hybrid_allocator_test.cc | 230 ++++++++++++++++++ 11 files changed, 563 insertions(+), 6 deletions(-) create mode 100644 src/os/bluestore/HybridAllocator.cc create mode 100644 src/os/bluestore/HybridAllocator.h create mode 100755 src/test/objectstore/hybrid_allocator_test.cc diff --git a/src/common/options.cc b/src/common/options.cc index 25ff532ee1bb3..f3b91c73bb110 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -4364,6 +4364,7 @@ std::vector