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) {}

Reply via email to