From c90eee34955734a5d4d2d4f0d1ff04b275374fb1 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 --- 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 | 2 +- src/test/objectstore/Allocator_test.cc | 38 ++- src/test/objectstore/CMakeLists.txt | 10 + src/test/objectstore/hybrid_allocator_test.cc | 230 ++++++++++++++++++ 11 files changed, 557 insertions(+), 4 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 0d490269fb8..2263c89683a 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -4016,6 +4016,7 @@ std::vector