// default to debug_mode off
-static bool debug_mode = false;
+bool mempool::debug_mode = false;
// --------------------------------------------------------------
switch (ix) {
#define P(x) \
- case x: pools[ix] = new mempool::pool_t(#x,debug_mode); break;
+ case x: pools[ix] = new mempool::pool_t(#x); break;
DEFINE_MEMORY_POOLS_HELPER(P);
#undef P
default: assert(0);
void mempool::set_debug_mode(bool d)
{
debug_mode = d;
- for (size_t i = 0; i < mempool::num_pools; ++i) {
- if (pools[i]) {
- pools[i]->debug = d;
- }
- }
}
// --------------------------------------------------------------
total->items += shard[i].items;
total->bytes += shard[i].bytes;
}
- if (debug) {
+ if (debug_mode) {
std::unique_lock<std::mutex> shard_lock(lock);
for (auto &p : type_map) {
std::string n = ceph_demangle(p.second.type_name);
};
#undef P
+extern bool debug_mode;
extern void set_debug_mode(bool d);
// --------------------------------------------------------------
std::unordered_map<const char *, type_t> type_map;
public:
- bool debug;
-
- pool_t(const std::string& n, bool _debug)
- : name(n), debug(_debug) {
+ pool_t(const std::string& n)
+ : name(n) {
}
//
void init(bool force_register) {
pool = &get_pool(pool_ix);
- if (pool->debug || force_register) {
+ if (debug_mode || force_register) {
type = pool->get_type(typeid(T), sizeof(T));
}
}
shard_t *shard = pool->pick_a_shard();
shard->bytes += total;
shard->items += n;
- if (pool->debug) {
+ if (debug_mode) {
type->items += n;
}
T* r = reinterpret_cast<T*>(new char[total]);