From: Jianyu Li Date: Fri, 3 Nov 2017 08:48:10 +0000 (+0800) Subject: make popular counter decay at proper rate X-Git-Tag: v12.2.5~44^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F21266%2Fhead;p=ceph.git make popular counter decay at proper rate Signed-off-by: Jianyu Li (cherry picked from commit 6d4709e649beacb5f2d6197d1bea57c8590c5f71) --- diff --git a/src/mds/MDBalancer.cc b/src/mds/MDBalancer.cc index af1ee09b63c2..08da5dcc1996 100644 --- a/src/mds/MDBalancer.cc +++ b/src/mds/MDBalancer.cc @@ -1094,7 +1094,7 @@ void MDBalancer::maybe_fragment(CDir *dir, bool hot) void MDBalancer::hit_dir(utime_t now, CDir *dir, int type, int who, double amount) { // hit me - double v = dir->pop_me.get(type).hit(now, amount); + double v = dir->pop_me.get(type).hit(now, mds->mdcache->decayrate, amount); const bool hot = (v > g_conf->mds_bal_split_rd && type == META_POP_IRD) || (v > g_conf->mds_bal_split_wr && type == META_POP_IWR); @@ -1162,12 +1162,12 @@ void MDBalancer::hit_dir(utime_t now, CDir *dir, int type, int who, double amoun bool hit_subtree_nested = dir->is_auth(); // all nested auth subtrees while (true) { - dir->pop_nested.get(type).hit(now, amount); + dir->pop_nested.get(type).hit(now, mds->mdcache->decayrate, amount); if (rd_adj != 0.0) dir->pop_nested.get(META_POP_IRD).adjust(now, mds->mdcache->decayrate, rd_adj); if (hit_subtree) { - dir->pop_auth_subtree.get(type).hit(now, amount); + dir->pop_auth_subtree.get(type).hit(now, mds->mdcache->decayrate, amount); if (rd_adj != 0.0) dir->pop_auth_subtree.get(META_POP_IRD).adjust(now, mds->mdcache->decayrate, rd_adj); }