]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
make popular counter decay at proper rate 21266/head
authorJianyu Li <joannyli@foxmail.com>
Fri, 3 Nov 2017 08:48:10 +0000 (16:48 +0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 6 Apr 2018 03:14:13 +0000 (20:14 -0700)
Signed-off-by: Jianyu Li <joannyli@tencent.com>
(cherry picked from commit 6d4709e649beacb5f2d6197d1bea57c8590c5f71)

src/mds/MDBalancer.cc

index af1ee09b63c2fc321c5bed4b1eaeedd5040dfc91..08da5dcc1996669cf75572905d9fffa48a4cc836 100644 (file)
@@ -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);
     }