Patrick Bellasi | edd28d3 | 2015-07-07 15:33:20 +0100 | [diff] [blame] | 1 | |
| 2 | #ifdef CONFIG_SCHED_TUNE |
| 3 | |
Patrick Bellasi | c5b2042 | 2016-07-29 15:45:57 +0100 | [diff] [blame] | 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 | |
Patrick Bellasi | edd28d3 | 2015-07-07 15:33:20 +0100 | [diff] [blame] | 15 | #ifdef CONFIG_CGROUP_SCHEDTUNE |
| 16 | |
| 17 | int schedtune_cpu_boost(int cpu); |
Patrick Bellasi | 9b2b8da | 2016-01-14 18:31:53 +0000 | [diff] [blame] | 18 | int schedtune_task_boost(struct task_struct *tsk); |
Patrick Bellasi | edd28d3 | 2015-07-07 15:33:20 +0100 | [diff] [blame] | 19 | |
Srinath Sridharan | 42503db | 2016-07-14 13:09:03 -0700 | [diff] [blame^] | 20 | int schedtune_prefer_idle(struct task_struct *tsk); |
| 21 | |
Patrick Bellasi | d248900 | 2016-07-28 18:44:40 +0100 | [diff] [blame] | 22 | void schedtune_exit_task(struct task_struct *tsk); |
| 23 | |
Patrick Bellasi | edd28d3 | 2015-07-07 15:33:20 +0100 | [diff] [blame] | 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 | |
Patrick Bellasi | d248900 | 2016-07-28 18:44:40 +0100 | [diff] [blame] | 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 | |
Patrick Bellasi | edd28d3 | 2015-07-07 15:33:20 +0100 | [diff] [blame] | 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 | |
Patrick Bellasi | 2f369bb | 2016-01-12 18:12:13 +0000 | [diff] [blame] | 39 | int schedtune_normalize_energy(int energy); |
| 40 | int schedtune_accept_deltas(int nrg_delta, int cap_delta, |
| 41 | struct task_struct *task); |
| 42 | |
Patrick Bellasi | edd28d3 | 2015-07-07 15:33:20 +0100 | [diff] [blame] | 43 | #else /* CONFIG_SCHED_TUNE */ |
| 44 | |
Patrick Bellasi | d248900 | 2016-07-28 18:44:40 +0100 | [diff] [blame] | 45 | #define schedtune_cpu_boost(cpu) 0 |
| 46 | #define schedtune_task_boost(tsk) 0 |
| 47 | |
| 48 | #define schedtune_exit_task(task) do { } while (0) |
| 49 | |
Patrick Bellasi | edd28d3 | 2015-07-07 15:33:20 +0100 | [diff] [blame] | 50 | #define schedtune_enqueue_task(task, cpu) do { } while (0) |
| 51 | #define schedtune_dequeue_task(task, cpu) do { } while (0) |
| 52 | |
Patrick Bellasi | 2f369bb | 2016-01-12 18:12:13 +0000 | [diff] [blame] | 53 | #define schedtune_accept_deltas(nrg_delta, cap_delta, task) nrg_delta |
| 54 | |
Patrick Bellasi | edd28d3 | 2015-07-07 15:33:20 +0100 | [diff] [blame] | 55 | #endif /* CONFIG_SCHED_TUNE */ |