diff options
author | Zach van Rijn <me@zv.io> | 2022-04-20 17:35:09 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2022-05-01 17:06:00 -0500 |
commit | cc9b56ee62c9242acc32d08007dc436cb4788f35 (patch) | |
tree | 1feff4c8703476181e99d789e0a4cdf115978a42 /system/easy-kernel/0251-projectc-5.15-r1-zv-fix-5.15.28.patch | |
parent | 74fabc87ce38872dc54463345f94c8aeed64970b (diff) | |
download | packages-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.patch | 125 |
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); + |