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 <pdonnell@redhat.com>
(cherry picked from commit
eb47e990c33843b9baa366e2b2a187439210e680)
Conflicts:
src/client/Client.cc
- the code being changed does not exist in octopus
}
since = now-upkeep_last_release;
auto release_interval = clock::duration(g_conf().get_val<std::chrono::seconds>("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();