Loading drivers/cpufreq/cpu-boost.c +27 −2 Original line number Diff line number Diff line Loading @@ -62,6 +62,11 @@ module_param(migration_load_threshold, uint, 0644); static bool load_based_syncs; module_param(load_based_syncs, bool, 0644); static bool sched_boost_on_input; module_param(sched_boost_on_input, bool, 0644); static bool sched_boost_active; static struct delayed_work input_boost_rem; static u64 last_input_time; #define MIN_INPUT_INTERVAL (150 * USEC_PER_MSEC) Loading Loading @@ -209,7 +214,7 @@ static void update_policy_online(void) static void do_input_boost_rem(struct work_struct *work) { unsigned int i; unsigned int i, ret; struct cpu_sync *i_sync_info; /* Reset the input_boost_min for all CPUs in the system */ Loading @@ -221,6 +226,13 @@ static void do_input_boost_rem(struct work_struct *work) /* Update policies for all online CPUs */ update_policy_online(); if (sched_boost_active) { ret = sched_set_boost(0); if (ret) pr_err("cpu-boost: HMP boost disable failed\n"); sched_boost_active = false; } } static int boost_mig_sync_thread(void *data) Loading Loading @@ -337,10 +349,14 @@ static struct notifier_block boost_migration_nb = { static void do_input_boost(struct work_struct *work) { unsigned int i; unsigned int i, ret; struct cpu_sync *i_sync_info; cancel_delayed_work_sync(&input_boost_rem); if (sched_boost_active) { sched_set_boost(0); sched_boost_active = false; } /* Set the input_boost_min for all CPUs in the system */ pr_debug("Setting input boost min for all CPUs\n"); Loading @@ -352,6 +368,15 @@ static void do_input_boost(struct work_struct *work) /* Update policies for all online CPUs */ update_policy_online(); /* Enable scheduler boost to migrate tasks to big cluster */ if (sched_boost_on_input) { ret = sched_set_boost(1); if (ret) pr_err("cpu-boost: HMP boost enable failed\n"); else sched_boost_active = true; } queue_delayed_work(cpu_boost_wq, &input_boost_rem, msecs_to_jiffies(input_boost_ms)); } Loading Loading
drivers/cpufreq/cpu-boost.c +27 −2 Original line number Diff line number Diff line Loading @@ -62,6 +62,11 @@ module_param(migration_load_threshold, uint, 0644); static bool load_based_syncs; module_param(load_based_syncs, bool, 0644); static bool sched_boost_on_input; module_param(sched_boost_on_input, bool, 0644); static bool sched_boost_active; static struct delayed_work input_boost_rem; static u64 last_input_time; #define MIN_INPUT_INTERVAL (150 * USEC_PER_MSEC) Loading Loading @@ -209,7 +214,7 @@ static void update_policy_online(void) static void do_input_boost_rem(struct work_struct *work) { unsigned int i; unsigned int i, ret; struct cpu_sync *i_sync_info; /* Reset the input_boost_min for all CPUs in the system */ Loading @@ -221,6 +226,13 @@ static void do_input_boost_rem(struct work_struct *work) /* Update policies for all online CPUs */ update_policy_online(); if (sched_boost_active) { ret = sched_set_boost(0); if (ret) pr_err("cpu-boost: HMP boost disable failed\n"); sched_boost_active = false; } } static int boost_mig_sync_thread(void *data) Loading Loading @@ -337,10 +349,14 @@ static struct notifier_block boost_migration_nb = { static void do_input_boost(struct work_struct *work) { unsigned int i; unsigned int i, ret; struct cpu_sync *i_sync_info; cancel_delayed_work_sync(&input_boost_rem); if (sched_boost_active) { sched_set_boost(0); sched_boost_active = false; } /* Set the input_boost_min for all CPUs in the system */ pr_debug("Setting input boost min for all CPUs\n"); Loading @@ -352,6 +368,15 @@ static void do_input_boost(struct work_struct *work) /* Update policies for all online CPUs */ update_policy_online(); /* Enable scheduler boost to migrate tasks to big cluster */ if (sched_boost_on_input) { ret = sched_set_boost(1); if (ret) pr_err("cpu-boost: HMP boost enable failed\n"); else sched_boost_active = true; } queue_delayed_work(cpu_boost_wq, &input_boost_rem, msecs_to_jiffies(input_boost_ms)); } Loading