diff --git a/src/promotion/nhit/nhit.c b/src/promotion/nhit/nhit.c index fd60faa..cf4fffd 100644 --- a/src/promotion/nhit/nhit.c +++ b/src/promotion/nhit/nhit.c @@ -68,12 +68,17 @@ ocf_error_t nhit_set_param(ocf_promotion_policy_t policy, uint8_t param_id, { struct nhit_policy_context *ctx = policy->ctx; ocf_error_t result = 0; + uint64_t thr_clines; + uint32_t thr_percent; switch (param_id) { case ocf_nhit_insertion_threshold: if (param_value >= OCF_NHIT_MIN_THRESHOLD && param_value <= OCF_NHIT_MAX_THRESHOLD) { env_atomic_set(&ctx->insertion_threshold, param_value); + ocf_cache_log(policy->owner, log_info, + "Nhit PP insertion threshold value set to %u", + param_value); } else { ocf_cache_log(policy->owner, log_err, "Invalid nhit " "promotion policy insertion threshold!\n"); @@ -84,11 +89,17 @@ ocf_error_t nhit_set_param(ocf_promotion_policy_t policy, uint8_t param_id, case ocf_nhit_trigger_threshold: if (param_value >= OCF_NHIT_MIN_TRIGGER && param_value <= OCF_NHIT_MAX_TRIGGER) { - env_atomic64_set(&ctx->trigger_threshold, - OCF_DIV_ROUND_UP((param_value * + thr_clines = OCF_DIV_ROUND_UP((param_value * ocf_metadata_get_cachelines_count(policy->owner)), - 100)); + 100); + env_atomic64_set(&ctx->trigger_threshold, thr_clines); + thr_percent = OCF_DIV_ROUND_UP(thr_clines * 100, + ocf_metadata_get_cachelines_count(policy->owner)); + ocf_cache_log(policy->owner, log_info, + "Nhit PP trigger threshold value set to %u%% (%" + ENV_PRIu64 "occupied cachelines)", + thr_percent, thr_clines); } else { ocf_cache_log(policy->owner, log_err, "Invalid nhit " "promotion policy insertion trigger "