mirror of https://github.com/OpenIPC/firmware.git
60 lines
1.7 KiB
Diff
60 lines
1.7 KiB
Diff
diff -drupN a/kernel/sched/tune.h b/kernel/sched/tune.h
|
|
--- a/kernel/sched/tune.h 1970-01-01 03:00:00.000000000 +0300
|
|
+++ b/kernel/sched/tune.h 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -0,0 +1,55 @@
|
|
+
|
|
+#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;
|
|
+};
|
|
+
|
|
+#ifdef CONFIG_CGROUP_SCHEDTUNE
|
|
+
|
|
+int schedtune_cpu_boost(int cpu);
|
|
+int schedtune_task_boost(struct task_struct *tsk);
|
|
+
|
|
+int schedtune_prefer_idle(struct task_struct *tsk);
|
|
+
|
|
+void schedtune_exit_task(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_CGROUP_SCHEDTUNE */
|
|
+
|
|
+#define schedtune_cpu_boost(cpu) get_sysctl_sched_cfs_boost()
|
|
+#define schedtune_task_boost(tsk) get_sysctl_sched_cfs_boost()
|
|
+
|
|
+#define schedtune_exit_task(task) do { } while (0)
|
|
+
|
|
+#define schedtune_enqueue_task(task, cpu) do { } while (0)
|
|
+#define schedtune_dequeue_task(task, cpu) do { } while (0)
|
|
+
|
|
+#endif /* CONFIG_CGROUP_SCHEDTUNE */
|
|
+
|
|
+int schedtune_normalize_energy(int energy);
|
|
+int schedtune_accept_deltas(int nrg_delta, int cap_delta,
|
|
+ struct task_struct *task);
|
|
+
|
|
+#else /* CONFIG_SCHED_TUNE */
|
|
+
|
|
+#define schedtune_cpu_boost(cpu) 0
|
|
+#define schedtune_task_boost(tsk) 0
|
|
+
|
|
+#define schedtune_exit_task(task) do { } while (0)
|
|
+
|
|
+#define schedtune_enqueue_task(task, cpu) do { } while (0)
|
|
+#define schedtune_dequeue_task(task, cpu) do { } while (0)
|
|
+
|
|
+#define schedtune_accept_deltas(nrg_delta, cap_delta, task) nrg_delta
|
|
+
|
|
+#endif /* CONFIG_SCHED_TUNE */
|