From 8069e83c0fabd990909fe3dd4249dbad01b80765 Mon Sep 17 00:00:00 2001 From: Colin Patrick McCabe Date: Wed, 15 Jun 2011 15:01:50 -0700 Subject: [PATCH] common/DecayCounter: deglobalize Signed-off-by: Colin McCabe --- src/common/DecayCounter.h | 15 ++++++--------- src/mds/mdstypes.h | 17 +++++++++++++---- src/osd/OSD.cc | 2 +- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/common/DecayCounter.h b/src/common/DecayCounter.h index 9c32df4654a11..37769bec69476 100644 --- a/src/common/DecayCounter.h +++ b/src/common/DecayCounter.h @@ -15,10 +15,9 @@ #ifndef CEPH_DECAYCOUNTER_H #define CEPH_DECAYCOUNTER_H -#include -#include "Clock.h" +#include "include/utime.h" -#include "common/config.h" +#include /** * @@ -75,8 +74,9 @@ public: ::decode(vel, p); } - DecayCounter() : val(0), delta(0), vel(0) { - reset(); + DecayCounter(const utime_t &now) + : val(0), delta(0), vel(0), last_decay(now) + { } /** @@ -127,11 +127,8 @@ public: * decay etc. */ - void reset() { - reset(ceph_clock_now(&g_ceph_context)); - } void reset(utime_t now) { - last_decay = ceph_clock_now(&g_ceph_context); + last_decay = now; val = delta = 0; } diff --git a/src/mds/mdstypes.h b/src/mds/mdstypes.h index 81026160888ca..b1cb340b2b8ab 100644 --- a/src/mds/mdstypes.h +++ b/src/mds/mdstypes.h @@ -15,6 +15,7 @@ using namespace std; #include "common/config.h" +#include "common/Clock.h" #include "common/DecayCounter.h" #include "include/Context.h" @@ -931,8 +932,12 @@ namespace __gnu_cxx { class inode_load_vec_t { static const int NUM = 2; - DecayCounter vec[NUM]; + std::vector < DecayCounter > vec; public: + inode_load_vec_t() + : vec(NUM, DecayCounter(ceph_clock_now(&g_ceph_context))) + { + } DecayCounter &get(int t) { assert(t < NUM); return vec[t]; @@ -959,8 +964,11 @@ WRITE_CLASS_ENCODER(inode_load_vec_t) class dirfrag_load_vec_t { public: static const int NUM = 5; - DecayCounter vec[NUM]; - + std::vector < DecayCounter > vec; + dirfrag_load_vec_t() + : vec(NUM, DecayCounter(ceph_clock_now(&g_ceph_context))) + { + } void encode(bufferlist &bl) const { __u8 struct_v = 1; ::encode(struct_v, bl); @@ -1115,7 +1123,8 @@ public: DecayCounter count; public: - load_spread_t() : p(0), n(0) { + load_spread_t() : p(0), n(0), count(ceph_clock_now(&g_ceph_context)) + { for (int i=0; iosd_max_opq<1 ? 1:g_conf->osd_max_opq), qlen_calc(3), -- 2.39.5