summaryrefslogtreecommitdiff
path: root/system/easy-kernel/0251-projectc-5.15-r1-zv-fix-5.15.28.patch
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2022-04-20 17:35:09 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2022-05-01 17:06:00 -0500
commitcc9b56ee62c9242acc32d08007dc436cb4788f35 (patch)
tree1feff4c8703476181e99d789e0a4cdf115978a42 /system/easy-kernel/0251-projectc-5.15-r1-zv-fix-5.15.28.patch
parent74fabc87ce38872dc54463345f94c8aeed64970b (diff)
downloadpackages-cc9b56ee62c9242acc32d08007dc436cb4788f35.tar.gz
packages-cc9b56ee62c9242acc32d08007dc436cb4788f35.tar.bz2
packages-cc9b56ee62c9242acc32d08007dc436cb4788f35.tar.xz
packages-cc9b56ee62c9242acc32d08007dc436cb4788f35.zip
system/easy-kernel: backport Project C changes for 5.15.27-breaking changes. fixes #540.
Diffstat (limited to 'system/easy-kernel/0251-projectc-5.15-r1-zv-fix-5.15.28.patch')
-rw-r--r--system/easy-kernel/0251-projectc-5.15-r1-zv-fix-5.15.28.patch125
1 files changed, 125 insertions, 0 deletions
diff --git a/system/easy-kernel/0251-projectc-5.15-r1-zv-fix-5.15.28.patch b/system/easy-kernel/0251-projectc-5.15-r1-zv-fix-5.15.28.patch
new file mode 100644
index 000000000..c08d9d0cc
--- /dev/null
+++ b/system/easy-kernel/0251-projectc-5.15-r1-zv-fix-5.15.28.patch
@@ -0,0 +1,125 @@
+diff -ur a/init/Kconfig b/init/Kconfig
+--- a/init/Kconfig 2022-04-20 17:30:09.904751692 -0500
++++ b/init/Kconfig 2022-04-20 17:32:51.173376197 -0500
+@@ -814,35 +814,6 @@
+
+ menu "Scheduler features"
+
+-menuconfig SCHED_ALT
+- bool "Alternative CPU Schedulers"
+- default y
+- help
+- This feature enable alternative CPU scheduler"
+-
+-if SCHED_ALT
+-
+-choice
+- prompt "Alternative CPU Scheduler"
+- default SCHED_BMQ
+-
+-config SCHED_BMQ
+- bool "BMQ CPU scheduler"
+- help
+- The BitMap Queue CPU scheduler for excellent interactivity and
+- responsiveness on the desktop and solid scalability on normal
+- hardware and commodity servers.
+-
+-config SCHED_PDS
+- bool "PDS CPU scheduler"
+- help
+- The Priority and Deadline based Skip list multiple queue CPU
+- Scheduler.
+-
+-endchoice
+-
+-endif
+-
+ config UCLAMP_TASK
+ bool "Enable utilization clamping for RT/FAIR tasks"
+ depends on CPU_FREQ_GOV_SCHEDUTIL
+@@ -893,6 +864,35 @@
+
+ If in doubt, use the default value.
+
++menuconfig SCHED_ALT
++ bool "Alternative CPU Schedulers"
++ default y
++ help
++ This feature enable alternative CPU scheduler"
++
++if SCHED_ALT
++
++choice
++ prompt "Alternative CPU Scheduler"
++ default SCHED_BMQ
++
++config SCHED_BMQ
++ bool "BMQ CPU scheduler"
++ help
++ The BitMap Queue CPU scheduler for excellent interactivity and
++ responsiveness on the desktop and solid scalability on normal
++ hardware and commodity servers.
++
++config SCHED_PDS
++ bool "PDS CPU scheduler"
++ help
++ The Priority and Deadline based Skip list multiple queue CPU
++ Scheduler.
++
++endchoice
++
++endif
++
+ endmenu
+
+ #
+diff -ur a/kernel/sched/alt_core.c b/kernel/sched/alt_core.c
+--- a/kernel/sched/alt_core.c 2022-04-20 17:30:09.908751806 -0500
++++ b/kernel/sched/alt_core.c 2022-04-20 17:32:51.169376082 -0500
+@@ -2954,7 +2954,7 @@
+ return 0;
+ }
+
+-void sched_post_fork(struct task_struct *p, struct kernel_clone_args *kargs)
++void sched_cgroup_fork(struct task_struct *p, struct kernel_clone_args *kargs)
+ {
+ unsigned long flags;
+ struct rq *rq;
+@@ -2997,6 +2997,13 @@
+ raw_spin_unlock_irqrestore(&p->pi_lock, flags);
+ }
+
++void sched_post_fork(struct task_struct *p)
++{
++#ifdef CONFIG_UCLAMP_TASK
++ uclamp_post_fork(p);
++#endif
++}
++
+ #ifdef CONFIG_SCHEDSTATS
+
+ DEFINE_STATIC_KEY_FALSE(sched_schedstats);
+diff -ur a/kernel/sched/alt_sched.h b/kernel/sched/alt_sched.h
+--- a/kernel/sched/alt_sched.h 2022-04-20 17:30:09.908751806 -0500
++++ b/kernel/sched/alt_sched.h 2022-04-20 17:32:51.173376197 -0500
+@@ -653,6 +653,20 @@
+ }
+ #endif
+
++static inline
++unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long boost,
++ struct task_struct *p)
++{
++ return boost;
++}
++
++static inline bool uclamp_rq_is_capped(struct rq *rq) { return false; }
++
++static inline bool uclamp_is_used(void)
++{
++ return false;
++}
++
+ extern void swake_up_all_locked(struct swait_queue_head *q);
+ extern void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait);
+