1 2 #ifdef CONFIG_SCHED_TUNE 3 4 #include <linux/reciprocal_div.h> 5 6 /* 7 * System energy normalization constants 8 */ 9 struct target_nrg { 10 unsigned long min_power; 11 unsigned long max_power; 12 struct reciprocal_value rdiv; 13 }; 14 15 #ifdef CONFIG_CGROUP_SCHEDTUNE 16 17 int schedtune_cpu_boost(int cpu); 18 int schedtune_task_boost(struct task_struct *tsk); 19 20 int schedtune_prefer_idle(struct task_struct *tsk); 21 22 void schedtune_exit_task(struct task_struct *tsk); 23 24 void schedtune_enqueue_task(struct task_struct *p, int cpu); 25 void schedtune_dequeue_task(struct task_struct *p, int cpu); 26 27 #else /* CONFIG_CGROUP_SCHEDTUNE */ 28 29 #define schedtune_cpu_boost(cpu) get_sysctl_sched_cfs_boost() 30 #define schedtune_task_boost(tsk) get_sysctl_sched_cfs_boost() 31 32 #define schedtune_exit_task(task) do { } while (0) 33 34 #define schedtune_enqueue_task(task, cpu) do { } while (0) 35 #define schedtune_dequeue_task(task, cpu) do { } while (0) 36 37 #endif /* CONFIG_CGROUP_SCHEDTUNE */ 38 39 int schedtune_accept_deltas(int nrg_delta, int cap_delta, 40 struct task_struct *task); 41 42 #else /* CONFIG_SCHED_TUNE */ 43 44 #define schedtune_cpu_boost(cpu) 0 45 #define schedtune_task_boost(tsk) 0 46 47 #define schedtune_exit_task(task) do { } while (0) 48 49 #define schedtune_enqueue_task(task, cpu) do { } while (0) 50 #define schedtune_dequeue_task(task, cpu) do { } while (0) 51 52 #define schedtune_accept_deltas(nrg_delta, cap_delta, task) nrg_delta 53 54 #endif /* CONFIG_SCHED_TUNE */ 55