From 4236c7426fbd063e8fe98476a362c435f88c0423 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Tue, 5 Jan 2021 09:03:27 -0800 Subject: [PATCH] mds: avoid spurious sleeps Like trim_interval, don't sleep for small amounts of time. This avoids spurious sleeps like: 2020-12-25T00:14:22.242+0000 7f6a95884700 20 mds.0.cache upkeep thread waiting interval 0.000000108s 2020-12-25T00:14:22.242+0000 7f6a95884700 20 mds.0.cache upkeep thread waiting interval 0.000000108s 2020-12-25T00:14:22.242+0000 7f6a95884700 20 mds.0.cache upkeep thread waiting interval 0.000000108s 2020-12-25T00:14:22.242+0000 7f6a95884700 20 mds.0.cache upkeep thread waiting interval 0.000000108s 2020-12-25T00:14:22.242+0000 7f6a95884700 20 mds.0.cache upkeep thread waiting interval 0.000000108s 2020-12-25T00:14:22.242+0000 7f6a95884700 20 mds.0.cache upkeep thread waiting interval 0.000000108s 2020-12-25T00:14:22.242+0000 7f6a95884700 20 mds.0.cache upkeep thread waiting interval 0.000000108s Also, fix the same issue in the Client. Fixes: https://tracker.ceph.com/issues/48753 Signed-off-by: Patrick Donnelly (cherry picked from commit eb47e990c33843b9baa366e2b2a187439210e680) Conflicts: src/client/Client.cc - the code being changed does not exist in octopus --- src/mds/MDCache.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index a187f952154fa..842ad7d860190 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -190,7 +190,7 @@ MDCache::MDCache(MDSRank *m, PurgeQueue &purge_queue_) : } since = now-upkeep_last_release; auto release_interval = clock::duration(g_conf().get_val("mds_cache_release_free_interval")); - if (since >= release_interval) { + if (since >= release_interval*.90) { /* XXX not necessary once MDCache uses PriorityCache */ dout(10) << "releasing free memory" << dendl; ceph_heap_release_free_memory(); -- 2.39.5