commit: f8b1656b3b322d7aa4d35ccd7d4739ebff2287ea Author: Mike Pagano <mpagano <AT> gentoo <DOT> org> AuthorDate: Thu Apr 4 19:21:54 2024 +0000 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org> CommitDate: Thu Apr 4 19:21:54 2024 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=f8b1656b
BMQ Patch 6.8-r4 (USE=experimental) Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org> 0000_README | 2 +- ...atch => 5020_BMQ-and-PDS-io-scheduler-v6.8-r4.patch | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/0000_README b/0000_README index 36e97fef..a4ecb94d 100644 --- a/0000_README +++ b/0000_README @@ -99,6 +99,6 @@ Patch: 5010_enable-cpu-optimizations-universal.patch From: https://github.com/graysky2/kernel_compiler_patch Desc: Kernel >= 5.15 patch enables gcc = v11.1+ optimizations for additional CPUs. -Patch: 5020_BMQ-and-PDS-io-scheduler-v6.8-r2.patch +Patch: 5020_BMQ-and-PDS-io-scheduler-v6.8-r4.patch From: https://gitlab.com/alfredchen/projectc Desc: BMQ(BitMap Queue) Scheduler. A new CPU scheduler developed from PDS(incld). Inspired by the scheduler in zircon. diff --git a/5020_BMQ-and-PDS-io-scheduler-v6.8-r2.patch b/5020_BMQ-and-PDS-io-scheduler-v6.8-r4.patch similarity index 99% rename from 5020_BMQ-and-PDS-io-scheduler-v6.8-r2.patch rename to 5020_BMQ-and-PDS-io-scheduler-v6.8-r4.patch index f0f8c11e..6ade9048 100644 --- a/5020_BMQ-and-PDS-io-scheduler-v6.8-r2.patch +++ b/5020_BMQ-and-PDS-io-scheduler-v6.8-r4.patch @@ -663,10 +663,10 @@ index 976092b7bd45..31d587c16ec1 100644 obj-y += build_utility.o diff --git a/kernel/sched/alt_core.c b/kernel/sched/alt_core.c new file mode 100644 -index 000000000000..31fadbf46a7b +index 000000000000..1044207ba0ad --- /dev/null +++ b/kernel/sched/alt_core.c -@@ -0,0 +1,8944 @@ +@@ -0,0 +1,8945 @@ +/* + * kernel/sched/alt_core.c + * @@ -745,7 +745,7 @@ index 000000000000..31fadbf46a7b +#define sched_feat(x) (0) +#endif /* CONFIG_SCHED_DEBUG */ + -+#define ALT_SCHED_VERSION "v6.8-r2" ++#define ALT_SCHED_VERSION "v6.8-r4" + +/* + * Compile time debug macro @@ -4920,8 +4920,8 @@ index 000000000000..31fadbf46a7b + stop_one_cpu_nowait(cpu, sg_balance_cpu_stop, p, + &rq->active_balance_work); + -+ raw_spin_lock(&src_rq->lock); + preempt_enable(); ++ raw_spin_lock(&src_rq->lock); + } + + return res; @@ -6043,7 +6043,8 @@ index 000000000000..31fadbf46a7b + /* Avoid rq from going away on us: */ + preempt_disable(); + -+ __balance_callbacks(rq); ++ if (task_on_rq_queued(p)) ++ __balance_callbacks(rq); + __task_access_unlock(p, lock); + + preempt_enable(); @@ -10632,10 +10633,10 @@ index 000000000000..ba1b7b805f1a +#endif /* ALT_SCHED_H */ diff --git a/kernel/sched/bmq.h b/kernel/sched/bmq.h new file mode 100644 -index 000000000000..f270fd1b9086 +index 000000000000..b7c9813f6fa7 --- /dev/null +++ b/kernel/sched/bmq.h -@@ -0,0 +1,102 @@ +@@ -0,0 +1,101 @@ +#define ALT_SCHED_NAME "BMQ" + +/* @@ -10715,8 +10716,7 @@ index 000000000000..f270fd1b9086 + +static inline void sched_task_renew(struct task_struct *p, const struct rq *rq) +{ -+ if (rq_switch_time(rq) > sysctl_sched_base_slice) -+ deboost_task(p); ++ deboost_task(p); +} + +static inline void sched_task_sanity_check(struct task_struct *p, struct rq *rq) {}
