Loading arch/arm64/configs/sdm855-perf_defconfig +3 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_BOOST=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_MSM=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y Loading arch/arm64/configs/sdm855_defconfig +3 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,9 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_BOOST=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_MSM=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y Loading drivers/cpufreq/cpu-boost.c +27 −2 Original line number Diff line number Diff line Loading @@ -39,6 +39,11 @@ static bool input_boost_enabled; static unsigned int input_boost_ms = 40; module_param(input_boost_ms, uint, 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 @@ -161,7 +166,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 @@ -173,14 +178,25 @@ 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: sched boost disable failed\n"); sched_boost_active = false; } } 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 @@ -192,6 +208,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: sched 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
arch/arm64/configs/sdm855-perf_defconfig +3 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_BOOST=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_MSM=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y Loading
arch/arm64/configs/sdm855_defconfig +3 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,9 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_BOOST=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_MSM=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y Loading
drivers/cpufreq/cpu-boost.c +27 −2 Original line number Diff line number Diff line Loading @@ -39,6 +39,11 @@ static bool input_boost_enabled; static unsigned int input_boost_ms = 40; module_param(input_boost_ms, uint, 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 @@ -161,7 +166,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 @@ -173,14 +178,25 @@ 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: sched boost disable failed\n"); sched_boost_active = false; } } 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 @@ -192,6 +208,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: sched 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