• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_normalize_energy(int energy);
40 int schedtune_accept_deltas(int nrg_delta, int cap_delta,
41 			    struct task_struct *task);
42 
43 #else /* CONFIG_SCHED_TUNE */
44 
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 
50 #define schedtune_enqueue_task(task, cpu) do { } while (0)
51 #define schedtune_dequeue_task(task, cpu) do { } while (0)
52 
53 #define schedtune_accept_deltas(nrg_delta, cap_delta, task) nrg_delta
54 
55 #endif /* CONFIG_SCHED_TUNE */
56