From 7bf66ff5ac6724ac806555a0280610898b55a4c0 Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Tue, 13 Jul 2021 06:21:01 -0400 Subject: [PATCH] lib/event: remove fields from spdk_governor_capabilities The spdk_governor_capabilities added lots of capabilities which went unused, suposedly to mark which callbacks a governor had implemented. This made little sense, since capabilities are per core and not implmenting this APIs made little sense. With this patch spdk_governor_capabilities is brought in line with rte_power_core_capabilities. Signed-off-by: Tomasz Zawadzki Change-Id: I85296fce2999cb41957162b63ee13d86a0be919f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8787 Reviewed-by: Konrad Sztyber Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins --- include/spdk_internal/event.h | 7 ------- lib/event/app_rpc.c | 12 ++++-------- lib/event/dpdk_governor.c | 7 ------- lib/event/gscheduler.c | 2 +- lib/event/reactor.c | 7 ------- 5 files changed, 5 insertions(+), 30 deletions(-) diff --git a/include/spdk_internal/event.h b/include/spdk_internal/event.h index 81a6dafab..4c99f1d48 100644 --- a/include/spdk_internal/event.h +++ b/include/spdk_internal/event.h @@ -164,13 +164,6 @@ int spdk_reactor_set_interrupt_mode(uint32_t lcore, bool new_in_interrupt, struct spdk_thread *_spdk_get_app_thread(void); struct spdk_governor_capabilities { - bool freq_change; - bool freq_getset; - bool freq_up; - bool freq_down; - bool freq_max; - bool freq_min; - bool turbo_set; bool turbo_available; bool priority; }; diff --git a/lib/event/app_rpc.c b/lib/event/app_rpc.c index 8c3aa3b4e..3d18e95a0 100644 --- a/lib/event/app_rpc.c +++ b/lib/event/app_rpc.c @@ -388,7 +388,6 @@ _rpc_framework_get_reactors(void *arg1, void *arg2) struct spdk_thread *thread; struct spdk_cpuset tmp_mask = {}; struct spdk_governor *governor; - struct spdk_governor_capabilities capabilities; current_core = spdk_env_get_current_core(); reactor = spdk_reactor_get(current_core); @@ -401,13 +400,10 @@ _rpc_framework_get_reactors(void *arg1, void *arg2) spdk_json_write_named_uint64(ctx->w, "idle", reactor->idle_tsc); governor = _spdk_governor_get(); /* We need to check whether governor can return current core frequency. */ - if (governor->get_core_capabilities && governor->get_core_freqs) { - governor->get_core_capabilities(current_core, &capabilities); - if (capabilities.freq_getset) { - /* Governor returns core freqs in kHz, we want MHz. */ - curr_core_freq = governor->get_core_curr_freq(current_core) / 1000; - spdk_json_write_named_uint32(ctx->w, "core_freq", curr_core_freq); - } + if (governor->get_core_curr_freq != NULL) { + /* Governor returns core freqs in kHz, we want MHz. */ + curr_core_freq = governor->get_core_curr_freq(current_core) / 1000; + spdk_json_write_named_uint32(ctx->w, "core_freq", curr_core_freq); } spdk_json_write_named_array_begin(ctx->w, "lw_threads"); diff --git a/lib/event/dpdk_governor.c b/lib/event/dpdk_governor.c index 484f2947b..911f3bef5 100644 --- a/lib/event/dpdk_governor.c +++ b/lib/event/dpdk_governor.c @@ -131,13 +131,6 @@ _get_core_capabilities(uint32_t lcore_id, struct spdk_governor_capabilities *cap capabilities->turbo_available = caps.turbo == 0 ? false : true; capabilities->priority = caps.priority == 0 ? false : true; - capabilities->freq_change = true; - capabilities->freq_getset = true; - capabilities->freq_up = true; - capabilities->freq_down = true; - capabilities->freq_max = true; - capabilities->freq_min = true; - capabilities->turbo_set = true; return 0; } diff --git a/lib/event/gscheduler.c b/lib/event/gscheduler.c index 251eaa7d4..65f3975e0 100644 --- a/lib/event/gscheduler.c +++ b/lib/event/gscheduler.c @@ -87,7 +87,7 @@ balance(struct spdk_scheduler_core_info *cores, int core_count, struct spdk_gove return; } - turbo_available = (capabilities.turbo_available && capabilities.turbo_set) ? true : false; + turbo_available = (capabilities.turbo_available) ? true : false; if (core->total_busy_tsc < (core->total_idle_tsc / 1000)) { rc = governor->set_core_freq_min(core->lcore); diff --git a/lib/event/reactor.c b/lib/event/reactor.c index 9f34130d0..c7b972ade 100644 --- a/lib/event/reactor.c +++ b/lib/event/reactor.c @@ -1475,13 +1475,6 @@ reactor_interrupt_fini(struct spdk_reactor *reactor) static int _governor_get_capabilities(uint32_t lcore_id, struct spdk_governor_capabilities *capabilities) { - capabilities->freq_change = false; - capabilities->freq_getset = false; - capabilities->freq_up = false; - capabilities->freq_down = false; - capabilities->freq_max = false; - capabilities->freq_min = false; - capabilities->turbo_set = false; capabilities->priority = false; capabilities->turbo_available = false;