logalloc: expose tracker_reclaimer_lock

tracker_reclaimer_lock is used by region_group, which is being moved
out of logalloc, so expose it.
This commit is contained in:
Avi Kivity
2022-06-20 11:15:49 +03:00
parent 4ba0658670
commit bffee2540f
2 changed files with 14 additions and 10 deletions

View File

@@ -506,16 +506,13 @@ private:
size_t reclaim_locked(size_t bytes, is_preemptible p);
};
class tracker_reclaimer_lock {
tracker::impl& _tracker_impl;
public:
tracker_reclaimer_lock() : _tracker_impl(shard_tracker().get_impl()) {
_tracker_impl.disable_reclaim();
}
~tracker_reclaimer_lock() {
_tracker_impl.enable_reclaim();
}
};
tracker_reclaimer_lock::tracker_reclaimer_lock() : _tracker_impl(shard_tracker().get_impl()) {
_tracker_impl.disable_reclaim();
}
tracker_reclaimer_lock::~tracker_reclaimer_lock() {
_tracker_impl.enable_reclaim();
}
tracker::tracker()
: _impl(std::make_unique<impl>())

View File

@@ -493,6 +493,13 @@ public:
bool should_abort_on_bad_alloc();
};
class tracker_reclaimer_lock {
tracker::impl& _tracker_impl;
public:
tracker_reclaimer_lock();
~tracker_reclaimer_lock();
};
tracker& shard_tracker();
class segment_descriptor;