From 0e221b28b8a63fe2d947ed44c6e35ce0dd371fcd Mon Sep 17 00:00:00 2001 From: Alexey Rybalchenko Date: Wed, 24 Jan 2024 11:31:38 +0100 Subject: [PATCH] shm: use node_allocator for ref counts --- examples/region/fairmq-start-ex-region-advanced.sh.in | 2 +- fairmq/shmem/Common.h | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/region/fairmq-start-ex-region-advanced.sh.in b/examples/region/fairmq-start-ex-region-advanced.sh.in index 6a1cbf84..88cb2c38 100755 --- a/examples/region/fairmq-start-ex-region-advanced.sh.in +++ b/examples/region/fairmq-start-ex-region-advanced.sh.in @@ -11,7 +11,7 @@ SAMPLER+=" --id sampler1" SAMPLER+=" --severity debug" SAMPLER+=" --msg-size $msgSize" SAMPLER+=" --transport $transport" -SAMPLER+=" --rc-segment-size 0" +#SAMPLER+=" --rc-segment-size 0" SAMPLER+=" --shm-monitor true" SAMPLER+=" --chan-name data1" SAMPLER+=" --channel-config name=data1,type=push,method=bind,address=tcp://127.0.0.1:7777" diff --git a/fairmq/shmem/Common.h b/fairmq/shmem/Common.h index cf7ae8c0..ed35016f 100644 --- a/fairmq/shmem/Common.h +++ b/fairmq/shmem/Common.h @@ -13,7 +13,8 @@ #include // std::equal_to #include -#include +// #include +#include #include #include #include @@ -69,9 +70,10 @@ struct RefCount static constexpr size_t numNodesPerBlock = 4096; // Maximum number of totally free blocks that the adaptive node pool will hold. // The rest of the totally free blocks will be deallocated with the segment manager. -static constexpr size_t maxFreeBlocks = 2; +// static constexpr size_t maxFreeBlocks = 2; -using RefCountPool = boost::interprocess::adaptive_pool; +using RefCountPool = boost::interprocess::node_allocator; +// using RefCountPool = boost::interprocess::adaptive_pool; using SegmentManager = boost::interprocess::managed_shared_memory::segment_manager; using VoidAlloc = boost::interprocess::allocator;