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>
auto d_interval = clock::duration(cct->_conf.get_val<sec>("client_debug_inject_tick_delay"));
auto interval = std::max(t_interval, d_interval);
- if (likely(since >= interval)) {
+ if (likely(since >= interval*.90)) {
tick();
last_tick = clock::now();
} else {
}
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();