From 043559e5cc043ddfa412f579b7d8cd6ff1006aea Mon Sep 17 00:00:00 2001 From: Liu Xiaodong Date: Mon, 22 Nov 2021 10:33:01 -0500 Subject: [PATCH] gscheduler: use current tsc for decision. Replace total_busy/idle_tsc by current ones for decision making when tuning frequency. Change-Id: I89524a9febfa963b14c3120433e5aff9de2a28dd Signed-off-by: Liu Xiaodong Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10342 Tested-by: SPDK CI Jenkins Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber Reviewed-by: Dong Yi Reviewed-by: Changpeng Liu Reviewed-by: Tomasz Zawadzki --- module/scheduler/gscheduler/gscheduler.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/module/scheduler/gscheduler/gscheduler.c b/module/scheduler/gscheduler/gscheduler.c index 5c304f9a7..b68aa7daf 100644 --- a/module/scheduler/gscheduler/gscheduler.c +++ b/module/scheduler/gscheduler/gscheduler.c @@ -75,17 +75,17 @@ balance(struct spdk_scheduler_core_info *cores, uint32_t core_count) return; } - if (core->total_busy_tsc < (core->total_idle_tsc / 1000)) { + if (core->current_busy_tsc < (core->current_idle_tsc / 1000)) { rc = governor->set_core_freq_min(core->lcore); if (rc < 0) { SPDK_ERRLOG("setting to minimal frequency for core %u failed\n", core->lcore); } - } else if (core->total_idle_tsc > core->total_busy_tsc) { + } else if (core->current_idle_tsc > core->current_busy_tsc) { rc = governor->core_freq_down(core->lcore); if (rc < 0) { SPDK_ERRLOG("lowering frequency for core %u failed\n", core->lcore); } - } else if (core->total_idle_tsc < (core->total_busy_tsc / 1000)) { + } else if (core->current_idle_tsc < (core->current_busy_tsc / 1000)) { rc = governor->set_core_freq_max(core->lcore); if (rc < 0) { SPDK_ERRLOG("setting to maximal frequency for core %u failed\n", core->lcore);