From 42e87e29763549a4bba47ca823247e682dd5d1f9 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 - in the nautilus version of this file, the code being modified does not exist --- 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 03c36c093364b..cfc5b61ec7f38 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -188,7 +188,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