blob: d1b4c729e8749a71415cf2b41387cfab6c70d6b8 [file] [log] [blame]
Patrick Bellasiedd28d32015-07-07 15:33:20 +01001
2#ifdef CONFIG_SCHED_TUNE
3
Patrick Bellasic5b20422016-07-29 15:45:57 +01004#include <linux/reciprocal_div.h>
5
6/*
7 * System energy normalization constants
8 */
9struct target_nrg {
10 unsigned long min_power;
11 unsigned long max_power;
12 struct reciprocal_value rdiv;
13};
14
Patrick Bellasiedd28d32015-07-07 15:33:20 +010015#ifdef CONFIG_CGROUP_SCHEDTUNE
16
17int schedtune_cpu_boost(int cpu);
Patrick Bellasi9b2b8da2016-01-14 18:31:53 +000018int schedtune_task_boost(struct task_struct *tsk);
Patrick Bellasiedd28d32015-07-07 15:33:20 +010019
Srinath Sridharan42503db2016-07-14 13:09:03 -070020int schedtune_prefer_idle(struct task_struct *tsk);
21
Patrick Bellasid2489002016-07-28 18:44:40 +010022void schedtune_exit_task(struct task_struct *tsk);
23
Patrick Bellasiedd28d32015-07-07 15:33:20 +010024void schedtune_enqueue_task(struct task_struct *p, int cpu);
25void schedtune_dequeue_task(struct task_struct *p, int cpu);
26
27#else /* CONFIG_CGROUP_SCHEDTUNE */
28
Patrick Bellasid2489002016-07-28 18:44:40 +010029#define schedtune_cpu_boost(cpu) get_sysctl_sched_cfs_boost()
30#define schedtune_task_boost(tsk) get_sysctl_sched_cfs_boost()
Pavankumar Kondetie92dd7f72017-10-11 19:23:46 +053031#define schedtune_prefer_idle(tsk) 0
Patrick Bellasid2489002016-07-28 18:44:40 +010032
33#define schedtune_exit_task(task) do { } while (0)
34
Patrick Bellasiedd28d32015-07-07 15:33:20 +010035#define schedtune_enqueue_task(task, cpu) do { } while (0)
36#define schedtune_dequeue_task(task, cpu) do { } while (0)
37
38#endif /* CONFIG_CGROUP_SCHEDTUNE */
39
Patrick Bellasi2f369bb2016-01-12 18:12:13 +000040int schedtune_normalize_energy(int energy);
41int schedtune_accept_deltas(int nrg_delta, int cap_delta,
42 struct task_struct *task);
43
Patrick Bellasiedd28d32015-07-07 15:33:20 +010044#else /* CONFIG_SCHED_TUNE */
45
Patrick Bellasid2489002016-07-28 18:44:40 +010046#define schedtune_cpu_boost(cpu) 0
47#define schedtune_task_boost(tsk) 0
Pavankumar Kondetie92dd7f72017-10-11 19:23:46 +053048#define schedtune_prefer_idle(tsk) 0
Patrick Bellasid2489002016-07-28 18:44:40 +010049
50#define schedtune_exit_task(task) do { } while (0)
51
Patrick Bellasiedd28d32015-07-07 15:33:20 +010052#define schedtune_enqueue_task(task, cpu) do { } while (0)
53#define schedtune_dequeue_task(task, cpu) do { } while (0)
54
Patrick Bellasi2f369bb2016-01-12 18:12:13 +000055#define schedtune_accept_deltas(nrg_delta, cap_delta, task) nrg_delta
56
Patrick Bellasiedd28d32015-07-07 15:33:20 +010057#endif /* CONFIG_SCHED_TUNE */