dirty_memory_manager: rename _virtual_region_group
Since we folded _real_region_group into _virtual_region_group, the "virtual" tag makes no sense any more, so remove it.
This commit is contained in:
@@ -391,9 +391,9 @@ class dirty_memory_manager {
|
||||
bool _db_shutdown_requested = false;
|
||||
|
||||
replica::database* _db;
|
||||
// The _virtual_region_group accounts for virtual memory usage. It is defined as the real dirty
|
||||
// The _region_group accounts for virtual memory usage. It is defined as the real dirty
|
||||
// memory usage minus bytes that were already written to disk.
|
||||
dirty_memory_manager_logalloc::region_group _virtual_region_group;
|
||||
dirty_memory_manager_logalloc::region_group _region_group;
|
||||
|
||||
// We would like to serialize the flushing of memtables. While flushing many memtables
|
||||
// simultaneously can sustain high levels of throughput, the memory is not freed until the
|
||||
@@ -418,7 +418,7 @@ class dirty_memory_manager {
|
||||
void start_reclaiming() noexcept;
|
||||
|
||||
bool has_pressure() const noexcept {
|
||||
return _virtual_region_group.over_virtual_soft_limit();
|
||||
return _region_group.over_virtual_soft_limit();
|
||||
}
|
||||
|
||||
unsigned _extraneous_flushes = 0;
|
||||
@@ -464,7 +464,7 @@ public:
|
||||
dirty_memory_manager(replica::database& db, size_t threshold, double soft_limit, scheduling_group deferred_work_sg);
|
||||
dirty_memory_manager()
|
||||
: _db(nullptr)
|
||||
, _virtual_region_group("memtable (virtual)",
|
||||
, _region_group("memtable (virtual)",
|
||||
dirty_memory_manager_logalloc::reclaim_config{
|
||||
.start_reclaiming = std::bind_front(&dirty_memory_manager::start_reclaiming, this),
|
||||
})
|
||||
@@ -472,51 +472,51 @@ public:
|
||||
, _waiting_flush(make_ready_future<>()) {}
|
||||
|
||||
static dirty_memory_manager& from_region_group(dirty_memory_manager_logalloc::region_group *rg) noexcept {
|
||||
return *(boost::intrusive::get_parent_from_member(rg, &dirty_memory_manager::_virtual_region_group));
|
||||
return *(boost::intrusive::get_parent_from_member(rg, &dirty_memory_manager::_region_group));
|
||||
}
|
||||
|
||||
dirty_memory_manager_logalloc::region_group& region_group() noexcept {
|
||||
return _virtual_region_group;
|
||||
return _region_group;
|
||||
}
|
||||
|
||||
const dirty_memory_manager_logalloc::region_group& region_group() const noexcept {
|
||||
return _virtual_region_group;
|
||||
return _region_group;
|
||||
}
|
||||
|
||||
void revert_potentially_cleaned_up_memory(logalloc::region* from, int64_t delta) {
|
||||
_virtual_region_group.update_real(-delta);
|
||||
_virtual_region_group.update_virtual(delta);
|
||||
_region_group.update_real(-delta);
|
||||
_region_group.update_virtual(delta);
|
||||
_dirty_bytes_released_pre_accounted -= delta;
|
||||
}
|
||||
|
||||
void account_potentially_cleaned_up_memory(logalloc::region* from, int64_t delta) {
|
||||
_virtual_region_group.update_real(delta);
|
||||
_virtual_region_group.update_virtual(-delta);
|
||||
_region_group.update_real(delta);
|
||||
_region_group.update_virtual(-delta);
|
||||
_dirty_bytes_released_pre_accounted += delta;
|
||||
}
|
||||
|
||||
void pin_real_dirty_memory(int64_t delta) {
|
||||
_virtual_region_group.update_real(delta);
|
||||
_region_group.update_real(delta);
|
||||
}
|
||||
|
||||
void unpin_real_dirty_memory(int64_t delta) {
|
||||
_virtual_region_group.update_real(-delta);
|
||||
_region_group.update_real(-delta);
|
||||
}
|
||||
|
||||
size_t real_dirty_memory() const noexcept {
|
||||
return _virtual_region_group.real_memory_used();
|
||||
return _region_group.real_memory_used();
|
||||
}
|
||||
|
||||
size_t virtual_dirty_memory() const noexcept {
|
||||
return _virtual_region_group.virtual_memory_used();
|
||||
return _region_group.virtual_memory_used();
|
||||
}
|
||||
|
||||
void notify_soft_pressure() {
|
||||
_virtual_region_group.notify_virtual_soft_pressure();
|
||||
_region_group.notify_virtual_soft_pressure();
|
||||
}
|
||||
|
||||
size_t throttle_threshold() const {
|
||||
return _virtual_region_group.virtual_throttle_threshold();
|
||||
return _region_group.virtual_throttle_threshold();
|
||||
}
|
||||
|
||||
future<> flush_one(replica::memtable_list& cf, flush_permit&& permit) noexcept;
|
||||
|
||||
@@ -449,7 +449,7 @@ void backlog_controller::update_controller(float shares) {
|
||||
|
||||
dirty_memory_manager::dirty_memory_manager(replica::database& db, size_t threshold, double soft_limit, scheduling_group deferred_work_sg)
|
||||
: _db(&db)
|
||||
, _virtual_region_group("memtable (virtual)", dirty_memory_manager_logalloc::reclaim_config{
|
||||
, _region_group("memtable (virtual)", dirty_memory_manager_logalloc::reclaim_config{
|
||||
.virtual_hard_limit = threshold / 2,
|
||||
.virtual_soft_limit = threshold * soft_limit / 2,
|
||||
.real_hard_limit = threshold,
|
||||
@@ -1732,7 +1732,7 @@ future<> dirty_memory_manager::shutdown() {
|
||||
_db_shutdown_requested = true;
|
||||
_should_flush.signal();
|
||||
return std::move(_waiting_flush).then([this] {
|
||||
return _virtual_region_group.shutdown();
|
||||
return _region_group.shutdown();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1810,7 +1810,7 @@ future<> dirty_memory_manager::flush_when_needed() {
|
||||
// memtable. The advantage of doing this is that this is objectively the one that will
|
||||
// release the biggest amount of memory and is less likely to be generating tiny
|
||||
// SSTables.
|
||||
memtable& candidate_memtable = memtable::from_region(*(this->_virtual_region_group.get_largest_region()));
|
||||
memtable& candidate_memtable = memtable::from_region(*(this->_region_group.get_largest_region()));
|
||||
memtable_list& mtlist = *(candidate_memtable.get_memtable_list());
|
||||
|
||||
if (!candidate_memtable.region().evictable_occupancy()) {
|
||||
|
||||
@@ -1731,10 +1731,10 @@ class dirty_mem_mgr():
|
||||
self.ref = ref
|
||||
|
||||
def real_dirty(self):
|
||||
return int(self.ref['_virtual_region_group']['_real_total_memory'])
|
||||
return int(self.ref['_region_group']['_real_total_memory'])
|
||||
|
||||
def virt_dirty(self):
|
||||
return int(self.ref['_virtual_region_group']['_virtual_total_memory'])
|
||||
return int(self.ref['_region_group']['_virtual_total_memory'])
|
||||
|
||||
|
||||
def find_instances(type_name):
|
||||
|
||||
Reference in New Issue
Block a user