mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
Currently when a boosted task is scheduled we use prefer_idle to try and get it to an idle core. Once it's scheduled, there is a possibility we can schedule a non-boosted task on the same core where the boosted task is running on. This change aims to mitigate that possibility by checking if the core we're targeting has a boosted task and if so, use the next best idle core instead. Bug: 131626264 Change-Id: I3d321e1c71f96526f55f7f3a56e32db411311aa2 Signed-off-by: Miguel de Dios <migueldedios@google.com> Signed-off-by: azrim <mirzaspc@gmail.com>
35 lines
833 B
C
35 lines
833 B
C
|
|
#ifdef CONFIG_SCHED_TUNE
|
|
|
|
#include <linux/reciprocal_div.h>
|
|
|
|
/*
|
|
* System energy normalization constants
|
|
*/
|
|
struct target_nrg {
|
|
unsigned long min_power;
|
|
unsigned long max_power;
|
|
struct reciprocal_value rdiv;
|
|
};
|
|
|
|
int schedtune_cpu_boost(int cpu);
|
|
int schedtune_task_boost(struct task_struct *tsk);
|
|
int schedtune_task_boost_rcu_locked(struct task_struct *tsk);
|
|
|
|
int schedtune_prefer_idle(struct task_struct *tsk);
|
|
|
|
void schedtune_enqueue_task(struct task_struct *p, int cpu);
|
|
void schedtune_dequeue_task(struct task_struct *p, int cpu);
|
|
|
|
#else /* CONFIG_SCHED_TUNE */
|
|
|
|
#define schedtune_cpu_boost(cpu) 0
|
|
#define schedtune_task_boost(tsk) 0
|
|
|
|
#define schedtune_prefer_idle(tsk) 0
|
|
|
|
#define schedtune_enqueue_task(task, cpu) do { } while (0)
|
|
#define schedtune_dequeue_task(task, cpu) do { } while (0)
|
|
|
|
#endif /* CONFIG_SCHED_TUNE */
|