From 04fc903507d2f70c27d113a4be12375bafefff7e Mon Sep 17 00:00:00 2001 From: Chanwoo Choi Date: Fri, 2 Feb 2018 13:26:37 +0900 Subject: [PATCH] pass: cpuhp: Replace 'governor' with 'cpuhp' expression PASS uses 'CPUHP' indicating 'CPU Hotplug Manager' module. 'governor' is too abstract and old expression. Replace 'governor' with 'cpuhp' expression in order to improve the readability. Change-Id: Ib7c6509e200cd7603739bace6bcf913bea22475b Signed-off-by: Chanwoo Choi --- CMakeLists.txt | 6 +- ...pass-gov-radiation.c => pass-cpuhp-radiation.c} | 4 +- src/pass/{pass-gov-step.c => pass-cpuhp-step.c} | 4 +- src/pass/{pass-gov.c => pass-cpuhp.c} | 130 ++++++++------------- src/pass/pass.c | 16 +-- src/pass/pass.h | 4 +- 6 files changed, 68 insertions(+), 96 deletions(-) rename src/pass/{pass-gov-radiation.c => pass-cpuhp-radiation.c} (97%) rename src/pass/{pass-gov-step.c => pass-cpuhp-step.c} (96%) rename src/pass/{pass-gov.c => pass-cpuhp.c} (78%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6910b9e..6a40a6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,9 +63,9 @@ SET(PASS_HAL_NAME pass-hal-devel) SET(SRCS src/pass/pass.c - src/pass/pass-gov.c - src/pass/pass-gov-radiation.c - src/pass/pass-gov-step.c + src/pass/pass-cpuhp.c + src/pass/pass-cpuhp-radiation.c + src/pass/pass-cpuhp-step.c src/pass/pass-parser.c src/pass/pass-hal.c src/pass/pass-rescon.c diff --git a/src/pass/pass-gov-radiation.c b/src/pass/pass-cpuhp-radiation.c similarity index 97% rename from src/pass/pass-gov-radiation.c rename to src/pass/pass-cpuhp-radiation.c index f917820..649385b 100644 --- a/src/pass/pass-gov-radiation.c +++ b/src/pass/pass-cpuhp-radiation.c @@ -23,7 +23,7 @@ #include "pass.h" /* - * pass_radiation_governor - Check cpu state and determine the amount of resource + * pass_cpuhp_radiation_governor - Check cpu state and determine the amount of resource * * @stats: structure for getting cpu frequency state from kerncel * @@ -34,7 +34,7 @@ * - the number of nr_running * - the number of busy_cpu */ -int pass_radiation_governor(struct pass_resource *res) +int pass_cpuhp_radiation_governor(struct pass_resource *res) { struct pass_level *levels = res->config_data.levels; struct pass_cpuhp *cpuhp = &res->cpuhp; diff --git a/src/pass/pass-gov-step.c b/src/pass/pass-cpuhp-step.c similarity index 96% rename from src/pass/pass-gov-step.c rename to src/pass/pass-cpuhp-step.c index e5e0fa0..606d217 100644 --- a/src/pass/pass-gov-step.c +++ b/src/pass/pass-cpuhp-step.c @@ -23,7 +23,7 @@ #include "pass.h" /* - * pass_step_governor - Check cpu state and determine the amount of resource + * pass_cpuhp_step_governor - Check cpu state and determine the amount of resource * * @stats: structure for getting cpu frequency state from kerncel * @@ -34,7 +34,7 @@ * - the number of nr_running * - the number of busy_cpu */ -int pass_step_governor(struct pass_resource *res) +int pass_cpuhp_step_governor(struct pass_resource *res) { struct pass_level *levels = res->config_data.levels; struct pass_cpuhp *cpuhp = &res->cpuhp; diff --git a/src/pass/pass-gov.c b/src/pass/pass-cpuhp.c similarity index 78% rename from src/pass/pass-gov.c rename to src/pass/pass-cpuhp.c index d65a2fc..3a45909 100644 --- a/src/pass/pass-gov.c +++ b/src/pass/pass-cpuhp.c @@ -28,16 +28,16 @@ #include "pass-hal.h" #include "pass-rescon.h" -extern int pass_step_governor(struct pass_resource *res); -extern int pass_radiation_governor(struct pass_resource *res); -static int __pass_governor_update(struct pass_resource *, enum pass_state); +extern int pass_cpuhp_step_governor(struct pass_resource *res); +extern int pass_cpuhp_radiation_governor(struct pass_resource *res); +static int cpuhp_governor_update(struct pass_resource *, enum pass_state); #define PASS_DEFAULT_CPU_THRESHOLD 20 #define PASS_DEFAULT_LEVEL_UP_THRESHOLD 30 #define PASS_DEFAULT_LEVEL_DOWN_THRESHOLD 80 #define PASS_CPU_STATS_MAX_COUNT 20 -struct pass_governor { +struct pass_cpuhp_governor { char name[BUFF_MAX]; enum pass_state state; @@ -47,13 +47,6 @@ struct pass_governor { int (*governor)(struct pass_resource *res); }; -/* - * is_enabled - Check the state of PASS governor - * @cpuhp: the instance of struct pass_cpuhp - * - * Return true if the state of PASS is PASS_ON - * Return false if the state of PASS is PASS_OFF - */ static bool is_enabled(struct pass_cpuhp *cpuhp) { if (cpuhp->state != PASS_ON) @@ -62,11 +55,7 @@ static bool is_enabled(struct pass_cpuhp *cpuhp) return true; } -/* - * pass_hotplug_stop - Stop PASS hotplug - * @res: the instance of struct pass_resource - */ -static void pass_hotplug_stop(struct pass_resource *res) +static void cpuhp_hotplug_stop(struct pass_resource *res) { struct pass_level *levels = res->config_data.levels; int level = res->rescon.max_level; @@ -77,14 +66,14 @@ static void pass_hotplug_stop(struct pass_resource *res) res->cpuhp.hotplug->online = levels[level].limit_min_cpu; } -static int pass_hotplug_dummy_governor(struct pass_resource *res) +static int cpuhp_hotplug_dummy_governor(struct pass_resource *res) { int level = res->rescon.curr_level; return res->config_data.levels[level].limit_min_cpu; } -static struct pass_hotplug* get_hotplug(struct pass_resource *res, +static struct pass_hotplug* cpuhp_get_hotplug(struct pass_resource *res, enum pass_gov_type type) { struct pass_hotplug *hotplug; @@ -103,7 +92,7 @@ static struct pass_hotplug* get_hotplug(struct pass_resource *res, _E("cannot allocate the memory of struct pass_hotplug"); return NULL; } - hotplug->governor = pass_hotplug_dummy_governor; + hotplug->governor = cpuhp_hotplug_dummy_governor; return hotplug; default: _E("Unknown hotplug type"); @@ -113,12 +102,7 @@ static struct pass_hotplug* get_hotplug(struct pass_resource *res, return NULL; } -/* - * pass_calculate_busy_cpu - Count a number of busy cpu among NR_CPUS by using - * runnable_avg_sum/runnable_avg_period - * @res: the instance of struct pass_resource - */ -static void pass_calculate_busy_cpu(struct pass_resource *res) +static void cpuhp_calculate_busy_cpu(struct pass_resource *res) { struct pass_cpuhp *cpuhp = &res->cpuhp; struct pass_level *levels = res->config_data.levels; @@ -180,11 +164,7 @@ static void pass_calculate_busy_cpu(struct pass_resource *res) } } -/* - * pass_governor_timeout_cb - Callback for each timeout interval of the governor - * @data: the instance of struct pass_resource -*/ -static gboolean pass_governor_timeout_cb(gpointer data) +static gboolean cpuhp_governor_timer_cb(gpointer data) { struct pass_resource *res = (struct pass_resource *)data; struct pass_level *levels = res->config_data.levels; @@ -212,13 +192,13 @@ static gboolean pass_governor_timeout_cb(gpointer data) count = 0; _E("cannot read the 'pass_cpu_stats' sysfs entry"); - __pass_governor_update(res, PASS_OFF); + cpuhp_governor_update(res, PASS_OFF); return FALSE; } /* Calculate the number of busy cpu */ - pass_calculate_busy_cpu(res); + cpuhp_calculate_busy_cpu(res); /* Store current governor timeout */ curr_gov_timeout = levels[res->rescon.curr_level].gov_timeout; @@ -230,7 +210,7 @@ static gboolean pass_governor_timeout_cb(gpointer data) pass_rescon_set_level(res, level); } else { _E("cannot call the governor function"); - __pass_governor_update(res, PASS_OFF); + cpuhp_governor_update(res, PASS_OFF); return FALSE; } @@ -248,18 +228,14 @@ static gboolean pass_governor_timeout_cb(gpointer data) g_source_remove(cpuhp->gov_timeout_id); cpuhp->gov_timeout_id = g_timeout_add( (guint)(next_gov_timeout * 1000), - pass_governor_timeout_cb, + cpuhp_governor_timer_cb, (gpointer)res); } return TRUE; } -/* - * __pass_governor_start - Start PASS governor through D-Bus - * @res: the instance of struct pass_resource - */ -static void __pass_governor_start(struct pass_resource *res) +static void cpuhp_governor_start(struct pass_resource *res) { struct pass_cpuhp *cpuhp = &res->cpuhp; @@ -277,11 +253,11 @@ static void __pass_governor_start(struct pass_resource *res) if (res->config_data.gov_timeout > 0) { cpuhp->gov_timeout_id = g_timeout_add( (guint)(res->config_data.gov_timeout * 1000), - (GSourceFunc)pass_governor_timeout_cb, + (GSourceFunc)cpuhp_governor_timer_cb, (gpointer)res); if (!cpuhp->gov_timeout_id) { _E("cannot add core timer for governor"); - __pass_governor_update(res, PASS_OFF); + cpuhp_governor_update(res, PASS_OFF); return; } } else { @@ -304,11 +280,7 @@ static void __pass_governor_start(struct pass_resource *res) _I("Start governor for '%s' resource", res->config_data.res_name); } -/* - * __pass_governor_stop - Stop PASS governor through D-Bus - * @res: the instance of struct pass_resource - */ -static void __pass_governor_stop(struct pass_resource *res) +static void cpuhp_governor_stop(struct pass_resource *res) { struct pass_cpuhp *cpuhp = &res->cpuhp; struct pass_resource_config_data *config_data = &res->config_data; @@ -323,7 +295,7 @@ static void __pass_governor_stop(struct pass_resource *res) return; } - pass_hotplug_stop(res); + cpuhp_hotplug_stop(res); if (cpuhp->gov_timeout_id) { g_source_remove(cpuhp->gov_timeout_id); @@ -336,13 +308,13 @@ static void __pass_governor_stop(struct pass_resource *res) _I("Stop governor for '%s' resource", config_data->res_name); } -static int __pass_governor_init(struct pass_resource *res) +static int cpuhp_governor_init(struct pass_resource *res) { struct pass_cpuhp *cpuhp = &res->cpuhp; if (res->config_data.gov_timeout < 0) { _E("invalid timeout value [%d]!", res->config_data.gov_timeout); - __pass_governor_update(res, PASS_OFF); + cpuhp_governor_update(res, PASS_OFF); return -EINVAL; } @@ -350,12 +322,12 @@ static int __pass_governor_init(struct pass_resource *res) cpuhp->state = PASS_OFF; if (res->config_data.state == PASS_ON) - __pass_governor_update(res, PASS_ON); + cpuhp_governor_update(res, PASS_ON); return 0; } -static int __pass_governor_exit(struct pass_resource *res) +static int cpuhp_governor_exit(struct pass_resource *res) { struct pass_cpuhp *cpuhp = &res->cpuhp; int i; @@ -364,7 +336,7 @@ static int __pass_governor_exit(struct pass_resource *res) * Stop timer and * Restore the frequency and the number of online resources */ - __pass_governor_update(res, PASS_OFF); + cpuhp_governor_update(res, PASS_OFF); /* Free allocated memory */ for (i = 0; i < cpuhp->num_pass_cpu_stats; i++) { @@ -388,15 +360,15 @@ static int __pass_governor_exit(struct pass_resource *res) return 0; } -static int __pass_governor_update(struct pass_resource *res, +static int cpuhp_governor_update(struct pass_resource *res, enum pass_state state) { switch (state) { case PASS_ON: - __pass_governor_start(res); + cpuhp_governor_start(res); break; case PASS_OFF: - __pass_governor_stop(res); + cpuhp_governor_stop(res); break; default: _E("Unknown governor state"); @@ -407,42 +379,40 @@ static int __pass_governor_update(struct pass_resource *res, } /* - * Define PASS governor + * Define CPUHP governor * * - Step governor * - Radiation governor */ -static struct pass_governor pass_gov_dummy = { +static struct pass_cpuhp_governor pass_gov_dummy = { .name = "pass_dummy", - .init = __pass_governor_init, - .exit = __pass_governor_exit, - .update = __pass_governor_update, + .init = cpuhp_governor_init, + .exit = cpuhp_governor_exit, + .update = cpuhp_governor_update, .governor = NULL, }; -static struct pass_governor pass_gov_step = { +static struct pass_cpuhp_governor pass_gov_step = { .name = "pass_step", - .init = __pass_governor_init, - .exit = __pass_governor_exit, - .update = __pass_governor_update, - - .governor = pass_step_governor, + .init = cpuhp_governor_init, + .exit = cpuhp_governor_exit, + .update = cpuhp_governor_update, + .governor = pass_cpuhp_step_governor, }; -static struct pass_governor pass_gov_radiation = { +static struct pass_cpuhp_governor pass_gov_radiation = { .name = "pass_radiation", - .init = __pass_governor_init, - .exit = __pass_governor_exit, - .update = __pass_governor_update, - - .governor = pass_radiation_governor, + .init = cpuhp_governor_init, + .exit = cpuhp_governor_exit, + .update = cpuhp_governor_update, + .governor = pass_cpuhp_radiation_governor, }; /* * pass_get_governor - Return specific governor instance according to type * @type: the type of PASS governor */ -static struct pass_governor* get_governor(struct pass_resource *res, +static struct pass_cpuhp_governor* cpuhp_get_governor(struct pass_resource *res, enum pass_gov_type type) { switch (type) { @@ -467,10 +437,11 @@ static struct pass_governor* get_governor(struct pass_resource *res, } /* - * pass_governor_init - Initialize PASS governor + * pass_cpuhp_init - Initialize CPUHP (CPU Hotplug Manager) module + * * @res: the instance of struct pass_resource */ -int pass_governor_init(struct pass_resource *res) +int pass_cpuhp_init(struct pass_resource *res) { struct pass_cpuhp *cpuhp; int max_freq = 0; @@ -516,7 +487,7 @@ int pass_governor_init(struct pass_resource *res) } /* Get the instance of CPU Hotplug's policy */ - cpuhp->hotplug = get_hotplug(res, res->config_data.gov_type); + cpuhp->hotplug = cpuhp_get_hotplug(res, res->config_data.gov_type); if (cpuhp->hotplug) { cpuhp->hotplug->sequence = calloc(res->config_data.num_cpus, sizeof(int)); @@ -527,7 +498,7 @@ int pass_governor_init(struct pass_resource *res) } /* Get the instance of CPUHP governor */ - cpuhp->governor = get_governor(res, res->config_data.gov_type); + cpuhp->governor = cpuhp_get_governor(res, res->config_data.gov_type); if (!cpuhp->governor) { _E("cannot get the instance of PASS governor"); return -1; @@ -540,10 +511,11 @@ int pass_governor_init(struct pass_resource *res) } /* - * pass_governor_exit - Exit PASS governor + * pass_cpuhp_exit - Exit CPUHP (CPU Hotplug Manager) module + * * @res: the instance of struct pass_resource */ -int pass_governor_exit(struct pass_resource *res) +int pass_cpuhp_exit(struct pass_resource *res) { struct pass_cpuhp *cpuhp; diff --git a/src/pass/pass.c b/src/pass/pass.c index 03c7ea6..9ea9e67 100644 --- a/src/pass/pass.c +++ b/src/pass/pass.c @@ -41,8 +41,8 @@ extern int pass_rescon_init(struct pass_resource *res); extern int pass_rescon_exit(struct pass_resource *res); -extern int pass_governor_init(struct pass_resource *res); -extern int pass_governor_exit(struct pass_resource *res); +extern int pass_cpuhp_init(struct pass_resource *res); +extern int pass_cpuhp_exit(struct pass_resource *res); extern int pass_pmqos_init(struct pass_resource *res); extern int pass_pmqos_exit(struct pass_resource *res); @@ -152,9 +152,9 @@ static int pass_init_resource(struct pass_resource *res) return ret; } - ret = pass_governor_init(res); + ret = pass_cpuhp_init(res); if (ret < 0) { - _E("cannot initialize PASS governor"); + _E("cannot initialize PASS CPUHP"); goto err_cpuhp; } @@ -167,8 +167,8 @@ static int pass_init_resource(struct pass_resource *res) return 0; err_pmqos: - if (pass_governor_exit(res) < 0) - _E("cannot exit PASS governor"); + if (pass_cpuhp_exit(res) < 0) + _E("cannot exit PASS CPUHP"); err_cpuhp: if (pass_rescon_exit(res) < 0) _E("cannot exit PASS Resource-Controller"); @@ -183,9 +183,9 @@ static int pass_exit_resource(struct pass_resource *res) /* Put configuration of each resource from pass-resource*.conf */ pass_put_each_resource_config(res); - ret = pass_governor_exit(res); + ret = pass_cpuhp_exit(res); if (ret < 0) { - _E("cannot exit PASS governor"); + _E("cannot exit PASS CPUHP"); return -1; } diff --git a/src/pass/pass.h b/src/pass/pass.h index 7619c7e..d465e33 100644 --- a/src/pass/pass.h +++ b/src/pass/pass.h @@ -30,7 +30,7 @@ #define PASS_LEVEL_COND_MAX 3 struct pass_resource; -struct pass_governor; +struct pass_cpuhp_governor; /* * PASS Governor type @@ -267,7 +267,7 @@ struct pass_cpuhp { int64_t last_time; - struct pass_governor *governor; + struct pass_cpuhp_governor *governor; guint gov_timeout_id; struct pass_hotplug *hotplug; -- 2.7.4